permisos de archivo correctos para que los usuarios de trac y git accedan a los repositorios del servidor gitolite

permisos de archivo correctos para que los usuarios de trac y git accedan a los repositorios del servidor gitolite

En mi servidor alojo algunos repositorios de git a través de gitolite y tengo un seguimiento para cada repositorio.

Tengo un usuario llamado git para empujar/tirar del servidor ( git clone git@server:repo). y trac es un vhost de Apache con mod_wsgi. esto se ejecuta con el usuario www-data.

Entonces, lo que me desconcierta (tal vez porque no tengo mucha idea sobre los permisos de archivos) es cuál es la mejor configuración de permisos (chown, chmod) para los repositorios de git ( /home/git/repositories/...).

www-data (o trac) necesita al menos permisos de lectura (creo). y git (o gitolite) obviamente necesita permisos de lectura/escritura para impulsar conjuntos de cambios.

Intenté un poco (es decir, agregar www-data y/o git al grupo www-data/git), pero no lo hice bien. al menos uno de los dos no funciona (git o trac).

Cualquier sugerencia es altamente apreciada.

Respuesta1

La forma más segura de hacerlo, diría yo, es tener un grupo llamado git-readers

agregue git y www-data, luego tenga la siguiente estructura de carpetas:

/home/git - git:git-readers u=rwx,g=rx,o=
/home/git/repositories - git:git u=rwx,g=rwx,o=rx

Esto permitirá que www-data ingrese a la carpeta para lectura, pero solo le dará acceso de escritura al usuario de git. Cualquier otro usuario no puede hacer nada.

Si desea agregar escritores adicionales, agregaría otro grupo de escritores de git y agregaría los usuarios y git, así como el grupo de lectores de git, luego usaría la siguiente estructura:

/home/git - git:git-readers u=rwx,g=rx,o=
/home/git/repositories - git:git-writers u=rwx,g=rwxs,o=rx

Tenga en cuenta la 's' en los permisos del grupo. Esto hace que los usuarios escritores utilicen el grupo git-writers como su grupo predeterminado. Esto sólo funcionará correctamente si todos los escritores son umask 0002.

Respuesta2

información relacionada