Este es un tema bastante amplio y un poco demasiado para cubrir aquí. Lo remitiré a las listas de control de acceso POSIX en el documento técnico de Linux elaborado por Andreas Grünbacher de SuSE Labs. Hace un muy buen trabajo al cubrir el tema y desglosarlo para que entienda cómo funcionan las ACL.
Su ejemplo
Ahora echemos un vistazo a su ejemplo y desglosemos.
- grupo (ventas)
- miembros del grupo de ventas (bob, joe)
Ahora analicemos los permisos en el archivo /home/foo/docs/foo.txt
. Las ACL también encapsulan los mismos permisos con los que la mayoría de las personas deberían estar familiarizadas en Unix, principalmente el usuario, el grupo y otros bits. Así que saquemos esos primero.
user:: r--
group::r--
other::---
Estos normalmente se verían así en un ls -l
:
$ ls -l /home/foo/docs/foo.txt
-r--r----- 1 jane executives 24041 Sep 17 15:09 /home/foo/docs/foo.txt
Puede ver quién posee el archivo y qué grupo es con estas líneas de ACL:
# owner: jane
# group: executives
Así que ahora nos adentramos en el meollo de las ACL:
user:bob:rw-
user:joe:rwx
group:sales:rwx
Esto muestra que el usuario bob
tiene rw
, mientras que el usuario joe
tiene rwx
. También hay un grupo que también tiene rwx
similar a Joe. Estos permisos son como si la columna de usuarios en nuestro ls -l
resultado tuviera 3 propietarios (jane, bob y joe), así como 2 grupos (ejecutivos y ventas). No hay distinción aparte de que son ACL.
Por último la mask
línea:
mask::rwx
En este caso no estamos ocultando nada, está abierto de par en par. Entonces, si los usuarios bob y joe tienen estas líneas:
user:bob:rw-
user:joe:rwx
Entonces esos son sus permisos efectivos. Si la máscara fuera así:
mask::r-x
Entonces sus permisos efectivos serían así:
user:bob:rw- # effective:r--
user:joe:rwx # effective:r-x
Este es un poderoso mecanismo para restringir los permisos que se otorgan de manera general.
NOTA: El propietario del archivo y otros permisos no se ven afectados por la máscara de derechos efectiva; todas las otras entradas son! Entonces, con respecto a la máscara, los permisos de ACL son ciudadanos de segunda clase en comparación con los permisos tradicionales de Unix.
Referencias