Solución 1:
Sí, las ACL pueden hacer esto.
-
Asegúrese de que su sistema de archivos esté montado con
acl. Para verificar esto, escribamount. Deberías veraclenumerados entre otros permisos, por ejemplo,/dev/sda1 on / type ext4 (rw,errors=remount-ro,acl)Si no está montado con acl, abre
/etc/fstaby agregaacla la lista de opciones:# /etc/fstab: static file system information. # # <file system> <mount point> <type> <options> <dump> <pass> /dev/sda1 / ext3 noatime,errors=remount-ro,acl 0 1Ahora, vuelva a montar el sistema de archivos en ejecución con las nuevas opciones:
mount -v -o remount / -
Instale las utilidades de ACL. En ubuntu/debian, esto es:
sudo apt-get install acl -
Tus nuevos amigos son
setfaclygetfacl. Usasetfaclpara cambiar la acl predeterminada de un directorio:setfacl -d -m o:r foo-destablece el valor predeterminado,-mmodifica acl, yo:rconcede a "otros" el derecho de lectura. Establecer el valor predeterminado en un directorio es aproximadamente equivalente a establecer setgid en un directorio, pero en lugar de que los archivos recién creados hereden el grupo, heredan la acl. Juntos, setgid y acl pueden ser poderosos, porque puede otorgar permisos predeterminados a un grupo y hacer que los archivos recién creados pertenezcan a ese grupo, para un umask por directorio basado en grupos efectivo. -
Revisa tu trabajo:
ls -lahora debería mostrar un "+" adicional que indica la presencia de acl además de los permisos de archivo estándar.% ls -la foo/ drwxr--r--+Puede obtener información detallada sobre la ACL usando
getfacl.% getfacl foo # file: foo # owner: you # group: you user::rwx group::r-- other::r-- default:user::rwx default:group::--- default:other::r--
Solución 2:
También puede forzar una umask para el directorio configurando la propiedad ACL de la máscara de esta manera:
setfacl -d -m mask:07 .