Problema de permissão Git/Jenkins

Problema de permissão Git/Jenkins

SO: Servidor Ubuntu 10.04 LTS

Tenho um problema estranho com permissões e não consigo rastrear o que está causando isso.

A configuração é a seguinte:

As pastas do repositório Git (e os arquivos nelas contidos) são de propriedade do root, e o grupo que usamos para os projetos tem direitos rws, por exemplo:

   ll /path/to/project
   drwxrwsr-x 7 root project                4096 2013-03-14 19:19 project

Nosso usuário jenkins é membro de todos os grupos que criamos para os projetos, inclusive o do exemplo. O aplicativo jenkins é iniciado pelo usuário jenkins para garantir que ele tenha acesso total às pastas do projeto.

Se eu remover os direitos de leitura e execução de "outros" nessas pastas git, nossas compilações falharão, informando:

 fatal: '/path/to/project' does not appear to be a git repository

ps: não há SELinux em jogo

Responder1

Suponho que sejam suas permissões com subdiretórios no repositório.

# Set the same ownerships for every file and directory within the repository
sudo chown -R root:project /path/to/project

# Remove permissions for others on all files
sudo chmod o-rwx $(find /path/to/project -not -type d)

Se você quiser que os membros do grupo devolvam as alterações:

# Set permissions for all subdirectories
sudo chmod 2770 $(find /path/to/project -type d)

Se você quiser que os membros do grupo tenham acesso somente leitura:

# Remove write permissions for group members for every file
sudo chmod g-w $(find /path/to/project -not -type d)

# Set permissions for all subdirectories
sudo chmod 2750 $(find /path/to/project -type d)

Agora, contanto que o usuário jenkins seja membro do grupo do projeto, ele poderá clonar o repositório git sem problemas.

No entanto, se você tiver o SELinux habilitado em seu sistema, as coisas podem ficar um pouco mais complicadas.

Boa codificação :)

informação relacionada