Nuevo permiso de usuario denegado para acceder al repository de git

Así que normalmente creo git hook como este (solo root):

git init --bare nano /home/git-repo/www.example.com.git/hooks//post-receive 

Pega esto

 #!/bin/sh GIT_WORK_TREE=/home/nginx/domains/www.example.com/public git checkout -f GIT_WORK_TREE=/home/nginx/domains/www.example.com/public git checkout -f master GIT_WORK_TREE=/home/nginx/domains/www.example.com/public git clean -f 

Entonces

 chmod +x /home/git-repo/www.example.com.git/hooks//post-receive 

Pero ahora traté de crear un nuevo usuario para acceder al repository git y establecer el permiso para que el nuevo usuario solo pueda acceder a un repository git y lo que probé es:

 useradd NewUser groupadd Developer usermod -G Developer NewUser chgrp Developer /home/git-repo/www.example.com.git/hooks//post-receive chmod +x /home/git-repo/www.example.com.git/hooks//post-receive 

Pero cuando presiono, obtengo este error:

 Counting objects: 1549, done. Delta compression using up to 4 threads. Compressing objects: 100% (826/826), done. fatal: Unable to create temporary file: Permission denied fatal: sha1 file '<stdout>' write error: Broken pipe error: failed to push some refs to 'ssh://NewUser@(my.vps.ip.0):(port)/home/git-repo/www.example.com.git' 

¿Cómo resolver mi problema? Solo necesito crear git repo con ganchos y el nuevo usuario solo puede acceder a algunos de mis repositorys de git

Si quiere darle acceso a NewUser a algunos repositorys que pertenecen primero al grupo de Developer , debe cambiar los permissions para el (los) repository (es):

 chgrp -R Developer /home/git-repo/www.example.com.git chmod -R g+w /home/git-repo/www.example.com.git find /home/git-repo/www.example.com.git -type d -exec chmod g+s '{}' \+ 

Es decir, establecer grupo, permitir el acceso de escritura al grupo, hacer todos los directorys existentes para propagar el grupo para los files y directorys recién creados.

Y luego configure git para conservar estos permissions, es decir, para crear todos los files con permiso -rw-rw-r-- :

 git config core.shanetworkingRepository group