Eu tenho um repositório git compartilhado configurado, que os usuários obtêm com o protocolo ssh
.
Gostaria de configurar as permissões de forma que apenas usuários em um grupo de usuários específico (por exemplo, git_group
) possam acessar o repositório. Eu posso tornar os arquivos criados acessíveis por este grupo, usando:
chmod g+s
. Recursivamente: find . -type d print0 | xargs -0 chmod g+s
. sudo setfacl -R -m g:git_group:rwx .
e sudo setfacl -R -d -m g:git_group:rwx .
Tudo isso parece bem até você remover um usuário de git_group
. Quando esse usuário enviou commits, eles se tornaram proprietários de alguns arquivos no repositório git. Depois de ser removido do grupo, esse usuário ainda pode modificar esses arquivos, e alguns comandos do git ainda podem ter sucesso.
Alterar o proprietário de todos os arquivos no repositório git negaria o acesso do usuário ao repositório, mas é possível configurar o repositório para que os usuários tenham acesso negado simplesmente removendo-os do grupo?
Até onde eu sei, com permissões básicas de arquivo linux, o grupo recebendo mais permissão do que o proprietário leva a um comportamento indefinido.
Tags permissions git