Esta pregunta es una buena opción para Linux acl
. Como no declaras tu sistema operativo, asumiré Linux en lo que sigue. Aquí hay una sesión de ejemplo.
No conozco un acl
tutorial realmente bueno , pero podrías hacerlo peor que http://www.vanemery.com/Linux/ACL/linux-acl.html
Tenga en cuenta que el valor predeterminado se acl
comporta como una máscara de usuario local. Dado que, al menos en Linux, las máscaras de u se aplican a nivel mundial, esta es la única forma que sé para obtener el efecto de una máscara de usuario local. Por alguna razón, esta es una característica poco conocida. La red está llena de personas que preguntan sobre una anulación de umask local, pero casi nadie parece pensar en usarla acl
.
También tenga en cuenta que necesita montar la partición en la que está trabajando con acl
soporte, por ejemplo.
/dev/mapper/debian-acl /mnt/acl ext3 defaults,acl 0 2
La sesión sigue:
/mnt/acl$ mkdir foo
/mnt/acl$ getfacl foo
# file: foo
# owner: faheem
# group: faheem
user::rwx
group::r-x
other::r-x
Establezca el grupo de foo
to be staff
y establezca la acl de group y user of foo
to rwx
.
/mnt/acl$ chgrp staff foo
/mnt/acl$ setfacl -R -m u::rwx,g::rwx foo
/mnt/acl$ getfacl foo
# file: foo
# owner: faheem
# group: staff
user::rwx
group::rwx
other::r-x
Establezca también las acls predeterminadas de usuario y grupo rwx
. Esto define los permisos de los que los archivos y directorios heredan foo
. Por lo tanto, todos los archivos y directorios creados bajo foo tendrán permisos de grupo rw
.
/mnt/acl$ setfacl -d --set u::rwx,g::rwx,o::- foo
/mnt/acl$ getfacl foo
# file: foo
# owner: faheem
# group: staff
user::rwx
group::rwx
other::r-x
default:user::rwx
default:group::rwx
default:other::---
Ahora cree algunos archivos foo
como usuarios faheem
y john
.
/mnt/acl$ cd foo
/mnt/acl/foo$ touch bar
# switch to user john for this next command.
/mnt/acl/foo$ touch baz
Lista de archivos. Tenga en cuenta que tanto los archivos de propiedad faheem
como los archivos de propiedad john
se crean con permisos de grupo rw
.
/mnt/acl/foo$ ls -la
total 3
drwxrwxr-x+ 2 faheem staff 1024 May 9 01:22 .
drwxr-xr-x 4 faheem faheem 1024 May 9 01:20 ..
-rw-rw---- 1 faheem faheem 0 May 9 01:20 bar
-rw-rw---- 1 john john 0 May 9 01:22 baz