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