Saltar al contenido

¿Cómo otorgar lectura / escritura a un usuario específico en cualquier subdirectorio existente o futuro de un directorio dado?

Solución:

crear un grupo myrepousers por ejemplo, y agregue sus usuarios de git a ese grupo.

Luego cambie el grupo de todo en / path / a / git / myrepo a myrepousers:

chown -R .myrepousers /path/to/git/myrepo

Luego corrige los permisos:

chmod -R g+w /path/to/git/myrepo
find /path/to/git/myrepo -type d -exec chmod -R {} g+s ;

Debería estar todo listo.

En realidad, ese fue el enfoque equivocado. Después de investigaciones adicionales, descubrí que en mi caso tengo que usar las funciones de compilación de git para manejar el derecho del sistema de archivos en el repositorio.

Básicamente se hace con el shared opción de git init, que puede tener (entre otros) los siguientes valores:

  • group: inicialice el repositorio para que los archivos y directorios tengan acceso de escritura de usuario y grupo, y todos los demás tengan acceso de lectura
  • 0660: lo mismo pero sin acceso de lectura para los demás.

Los directorios y archivos recién creados tienen automáticamente los permisos adecuados. También puedes usar git init en un repositorio existente para reconfigurarlo sin perder su contenido.

Así que al final lo que tuve que hacer:

  • Crear un grupo mygitrepo
  • Agregar usuarios
  • chmod -R el repositorio de git para root:mygitrepo

Y ahora todos los usuarios del grupo pueden tirar / empujar, y nadie más puede, y eso sin interferir con los derechos del sistema de archivos.

git init --bare --shared=0660

http://www.kernel.org/pub/software/scm/git/docs/git-init.html para obtener más información.

Si se admiten las ACL, puede hacerlo con las ACL predeterminadas. Tenga en cuenta que es fácil olvidarse de ellos, ya que no aparecen cuando hace un ls -l.

find /path/to/git/myrepo -type d -exec setfacl -m d:u:john:rwx {} +

Pero sospecho que es posible que desee hacer algo un poco más organizado. La implementación de gitolite puede proporcionar una mejor solución.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *