Você precisa adicionar um wrapper para corrigir as permissões no seu gancho de pós-atualização. Dependendo de como é a configuração do seu servidor, envolve etapas diferentes. Vou descrever meu caso de uso e espero que você possa adaptá-lo às suas necessidades.
No meu servidor, os repositórios nus (hubs) são gerenciados pelo usuário gitosis / gitolite / plain git com git-shell.
Arquivos sob $GITOSIS_HOME
são de propriedade de gitosis:gitosis
e são duplicados 077
.
Para que as alterações sejam feitas corretamente, precisei adicionar uma chamada a um script auxiliar que estou armazenando em /usr/local/bin
que recursivamente define proprietário, grupo, permissões e contexto do SELinux no repositório prime / live.
A propósito, também precisei adicionar uma linha ao meu arquivo sudoers(5)
para permitir que gitosis
executasse o script como raiz com !requiretty
e NOPASSWD
.