Para configurar el grupo, da /var/www
el setgid poco:
chgrp www-data /var/www
chmod g+s /var/www
Para ajustar también subdirectorios:find /var/www -type d -exec chmod g+s {} +
Esto hará que todos los archivos recién creados hereden el grupo del directorio principal, en lugar del del usuario.
Para establecer los permisos de grupo predeterminados, deberá usar ACL . Establecer una ACL "predeterminada":
setfacl -m "default:group::rwx" /var/www
Para ajustar también subdirectorios:find /var/www -type d -exec setfacl -m d:g::rwx {} +
Nota:El sistema de archivos debe tener habilitado el soporte de ACL. A veces está activado de forma predeterminada; en ext3 o ext4 es posible que obtenga "Operación no compatible", en cuyo caso debe habilitarse manualmente:
-
Para un sistema de archivos montado actualmente:
mount -o remount,acl /
-
Permanentemente:uno de los siguientes métodos:
-
a nivel de fstab:editar
/etc/fstab
teneracl
en el campo de opciones -
a nivel de sistema de archivos:
tune2fs -o acl /dev/diskname
-
Esto podría haber dejado a algunas personas atrapadas con la respuesta 'grawity' en setgid, si el grupo de la carpeta es diferente al suyo, es posible que deba ejecutar chmod como root, pero no obtendrá ningún error que indique que necesita hacer esto.
$ ls -ld dir
drwxrwxr-x 2 luke testgroup 4096 Mar 9 10:44 dir
$ chmod g+s dir #no errors
$ ls -ld dir
drwxrwxr-x 2 luke testgroup 4096 Mar 9 10:44 dir #but nothing changed
$ touch dir/nosudo && ls -l dir/
-rw-rw-r-- 1 luke luke 0 Mar 9 10:51 nosudo #and the group is still wrong
$ sudo chmod g+s dir
$ ls -ld dir
drwxrwsr-x 2 luke testgroup 4096 Mar 9 10:44 dir #the setgid bit is now on
$ touch dir/withsudo && ls -l dir/
-rw-rw-r-- 1 luke luke 0 Mar 9 10:51 nosudo
-rw-rw-r-- 1 luke testgroup 0 Mar 9 10:51 withsudo #and group is set