A maneira mais segura de fazer isso eu diria é ter um grupo chamado git-readers
adicione git e www-data a ele e, em seguida, tenha a seguinte estrutura de pastas:
/home/git - git:git-readers u=rwx,g=rx,o=
/home/git/repositories - git:git u=rwx,g=rwx,o=rx
Isso permitirá que o www-data esteja na pasta para leitura, mas somente dará acesso ao usuário git. Qualquer outro usuário não pode fazer nada.
Se você quiser adicionar escritores adicionais, eu adicionaria outros git-writers de grupo e adicionaria os usuários e git a ele, bem como ao grupo de git-readers, e então usaria a seguinte estrutura:
/home/git - git:git-readers u=rwx,g=rx,o=
/home/git/repositories - git:git-writers u=rwx,g=rwxs,o=rx
Observe o 's' nas permissões do grupo. Isso faz com que os usuários do gravador usem o grupo git-writers como seu grupo padrão. Isso só funcionará corretamente se os escritores forem todos umask 0002.