Problema de permisos de Git/Jenkins

Problema de permisos de Git/Jenkins

SO: servidor Ubuntu 10.04 LTS

Tengo un problema extraño con los permisos y parece que no puedo encontrar la causa.

La configuración es la siguiente:

Las carpetas del Repositorio Git (y los archivos que contienen) son propiedad del root y el grupo que usamos para los proyectos tiene derechos rws, por ejemplo:

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

Nuestro usuario jenkins es miembro de todos los grupos que creamos para los proyectos, incluido el del ejemplo. El usuario de jenkins inicia la aplicación jenkins para asegurarse de que tiene acceso completo a las carpetas del proyecto.

Si elimino los derechos de lectura y ejecución para "otros" en estas carpetas de git, nuestras compilaciones fallan, indicando:

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

PD: no hay SELinux en juego

Respuesta1

Supongo que son tus permisos con subdirectorios dentro del repositorio.

# 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)

Si desea que los miembros del grupo escriban los cambios:

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

Si desea que los miembros del grupo tengan acceso de solo lectura:

# 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)

Ahora, siempre que el usuario de jenkins sea miembro del grupo del proyecto, debería poder clonar el repositorio de git sin problemas.

Sin embargo, si tiene SELinux habilitado en su sistema, las cosas podrían ponerse un poco más complicadas.

Feliz codificación :)

información relacionada