Permissões de arquivo ao remover o usuário do git

4

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:

  • Setgid: chmod g+s . Recursivamente: find . -type d print0 | xargs -0 chmod g+s .
  • Definir padrões nas listas de controle de acesso.
    • 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.

    
por Zantier 05.05.2015 / 13:48

0 respostas