error: no se puede abrir .git / FETCH_HEAD: Permiso denegado al usar script php para git pull

Me loco simple script php para git pull

<?php $output = shell_exec("cd /var/www/domain.tld/html/test/ && git pull 2>&1"); echo "<pre>$output</pre>"; 

lo llamó git.php y le dio 755

la salida fue

 error: cannot open .git/FETCH_HEAD: Permission denied 

pero cuando intentes desde la terminal

 $ git pull Already up-to-date. 

revisé la propiedad de los directorys, mi usuario es "inteligente"

 drwxrwsr-x 4 savvy savvy 4096 Jul 13 05:40 test 

y los files dentro

 $ ls -la test/ total 20 drwxrwsr-x 4 savvy savvy 4096 Jul 13 05:40 . drwxr-xr-x 7 savvy savvy 4096 Jul 13 05:38 .. drwxrwsr-x 8 savvy savvy 4096 Jul 13 05:41 .git -rw-rwSr-- 1 savvy savvy 19 Jul 13 05:39 test.php 

.git

 $ ls -la .git/ total 60 drwxrwsr-x 8 savvy savvy 4096 Jul 13 05:41 . drwxrwsr-x 4 savvy savvy 4096 Jul 13 05:40 .. drwxrwsr-x 2 savvy savvy 4096 Jul 13 05:39 branches -rw-rwSr-- 1 savvy savvy 268 Jul 13 05:39 config -rw-rwSr-- 1 savvy savvy 73 Jul 13 05:39 description -rw-rwSr-- 1 savvy savvy 97 Jul 13 05:41 FETCH_HEAD -rw-rwSr-- 1 savvy savvy 23 Jul 13 05:39 HEAD drwxrwsr-x 2 savvy savvy 4096 Jul 13 05:39 hooks -rw-rwSr-- 1 savvy savvy 104 Jul 13 05:41 index drwxrwsr-x 2 savvy savvy 4096 Jul 13 05:39 info drwxrwsr-x 3 savvy savvy 4096 Jul 13 05:39 logs drwxrwsr-x 4 savvy savvy 4096 Jul 13 05:39 objects -rw-rwSr-- 1 savvy savvy 41 Jul 13 05:40 ORIG_HEAD -rw-rwSr-- 1 savvy savvy 107 Jul 13 05:39 packed-refs drwxrwsr-x 5 savvy savvy 4096 Jul 13 05:39 refs 

~ / .ssh

 drwx------ 2 savvy savvy 4096 Jul 13 04:56 .ssh 

dentro

 $ ls -la .ssh/ total 36 drwx------ 2 savvy savvy 4096 Jul 13 04:56 . drwxr-xr-x 4 savvy savvy 4096 Jul 12 08:34 .. -rw-r--r-- 1 savvy savvy 398 Jul 12 05:46 authorized_keys -rw-rw-r-- 1 savvy savvy 59 Jul 11 10:10 config -rw------- 1 savvy savvy 1679 Jul 11 07:44 id_rsa -rw-rw-r-- 1 savvy savvy 398 Jul 12 05:21 id_rsa.pub -rw-r--r-- 1 savvy savvy 1768 Jul 13 05:08 known_hosts 

Resuelvo este problema por el siguiente

1 copy /home/savvy/.ssh a / var / www /

 # cp -R /home/savvy/.ssh /var/www/ 

2- dio el / diractory / var / www a usuario de www-data

 # chown -R www-data:www-data /var/www/ 

3- iniciar session como usuario de www-data

 $ su Password: # su -s /bin/bash www-data 

4- clonar el repository en mi directory /var/www/domain.tld/html/test/

5- Llamar al file git.php que ya hice domain.tld / git.php
resultado

 From bitbucket.org:repo/test 8e9f67c..185cd9e master -> origin/master Updating 8e9f67c..185cd9e Fast-forward test.php | 1 + 1 file changed, 1 insertion(+)