¿Cómo puedo configurar un directorio de escritura de grupo?

14
$ whoami
meder
$ cd /var/www
$ sudo mkdir html
$ sudo groupadd web
$ sudo usermod -a -G web meder
$ sudo usermod -a -G web medertest
$ sudo chown meder:web html
$ sudo chmod -R g+rwx html

El problema es que cada vez que creo un nuevo archivo en /var/www/html a pesar de que el grupo está configurado para web, solo es escribible por el usuario original.

Me dieron el consejo de establecer el umask ser 002 Porque el defecto es lo que causa los problemas. Pero tendría que hacer esto por todos usuarios de ese grupo, y por lo que sé, sería tedioso tener todos ellos modificados ~/.bashrc tener umask 002. Incluso si puedo hacerlo yo mismo con un comando de shell para todos esos usuarios, todavía parece demasiado tedioso.

¿Alguien puede ofrecer algún consejo sobre tener un directorio de escritura de grupo?

meder omuraliev
fuente
2
¿Ha intentado cerrar sesión y luego volver a iniciar sesión con el usuario meder? La información del grupo no se actualiza en la sesión actual.
marco
@marco - lo hice su medertest y su meder Como mil veces. ¿Eso califica como un cierre de sesión?
meder omuraliev
Gracias @marco no sabía que la información del grupo no se actualiza en la sesión actual ... bummer
gabeio

Respuestas:

26

Primero, habilite el bit SGID en su directorio:

sudo chmod g+s html

Esto hará que los nuevos archivos creados dentro de ese directorio hereden la propiedad del grupo principal.

No hay herencia de niveles de permisos en el modelo de permisos POSIX. Sin embargo, esto se puede hacer con Listas de control de acceso , sin tener que preocuparse por la configuración de umask:

sudo setfacl -d -m group:web:rwx html

Es un verdadero fastidio que umask no se pueda asignar por directorio.

mizo
fuente
que es g+s ¿en números?
Jürgen Paul
1
@Agregar al mundo prepend con 2: chmod 2XXX file.
mizo
1
He estado buscando esta respuesta para siempre, y acabo de ser referido a través de una respuesta de Twitter. Gracias @mizo!
Glyph
0

Necesitas establecer el bit setgid en el directorio.

chmod g+s html
Dennis Williamson
fuente
¿Puedo combinar este chmod con el g+rwx ¿uno?
meder omuraliev
1
@meder: si g+rwxs
Dennis Williamson
Esto solo conserva la propiedad del directorio, no los permisos del directorio.
Glyph