Al principio creo un archivo y verifico sus permisos estándar y entradas de ACL:
$ touch file; ls -l file; getfacl file
-rw-r--r-- 1 user user 0 Jul 30 16:26 file
# file: file
# owner: user
# group: user
user::rw-
group::r--
other::r--
Luego configuré la máscara de ACL en el archivo y nuevamente verifiqué sus permisos estándar y las entradas de ACL:
$ setfacl -m mask:rwx file
$ ls -l file; getfacl file
-rw-rwxr--+ 1 user user 0 Jul 30 16:26 file
# file: file
# owner: user
# group: user
user::rw-
group::r--
mask::rwx
other::r--
Tenga en cuenta que junto con la máscara de ACL, el permiso de grupo estándar en el archivo también cambió.
- ¿Qué conexión existe entre la máscara ACL y el permiso de grupo estándar?
- ¿Cuál es la razón para acoplar la máscara ACL y los permisos de grupo de archivos? ¿Qué lógica hay detrás de esto?
Las distribuciones en cuestión son Debian Linux 7.6 y CentOS 7
EDITAR
En este punto, solo quería compartir algunos hallazgos míos que se me ocurrieron mientras investigaba las relaciones entre los permisos de grupo de archivos estándar y la máscara ACL. Aquí están las observaciones empíricas que encontré:
La máscara ACL se puede cambiar:
- configurándolo directamente con el
setfacl -m m:<perms>
comando; - cambiando los permisos del grupo de archivos con el
chmod
comando (si la máscara ACL ya está presente; puede que no esté presente porque es opcional si no hay permisos de ACL de usuario o grupo nombrados en el archivo); - agregando una entrada de ACL de usuario o grupo con nombre (la máscara se volverá a calcular automáticamente).
- configurándolo directamente con el
La máscara aplicará los derechos de acceso máximos (si hay entradas de ACL con permisos presentes que exceden los permisos de la máscara de ACL) solo si la máscara se configura directamente mediante setfacl o mediante la modificación del permiso del grupo de archivos con chmod (no se calcula automáticamente). Cualquier cambio en las entradas de ACL activará el recálculo automático de la máscara de ACL y desactivará efectivamente el "modo de aplicación".
Hay un par de efectos secundarios que afectan implícitamente los permisos de grupo de archivos estándar cuando se usan ACL:
- La entrada de ACL de usuario o grupo designada aplicada a un archivo puede cambiar la máscara de ACL (aumentar sus permisos) y, por lo tanto, los permisos efectivos de grupo de archivos. Por ejemplo, si usted, como propietario de un archivo, tiene establecidos los permisos "rw-r - r-- jim students" y también le otorga permiso rw al usuario "jack", también otorgará implícitamente permisos rw a cualquier persona del grupo de "estudiantes".
- La máscara ACL más estricta (menos permisos) puede eliminar permanentemente los permisos de grupo de archivos estándar correspondientes. Por ejemplo, si tiene un archivo con permisos de grupo de archivos estándar rw y aplica una máscara ACL de solo lectura al archivo, sus permisos de grupo disminuirán a solo lectura. Luego, si elimina todas las entradas de ACL extendidas (con
setfacl -b
comando), los permisos de grupo permanecerán como de solo lectura. Esto se aplica solo a la máscara ACL más estricta, la máscara ACL más suave (más permisos) no altera permanentemente el permiso del grupo de archivos original después de que se elimina.
fuente
Respuestas:
No tiene sentido si los permisos del archivo Unix no están de acuerdo con la entrada acl y viceversa. En consecuencia, la página del manual (
acl(5)
) dice lo que pide:Anexo en respuesta a la discusión:
Una buena explicación está aquí . En esencia, la máscara es un
fuente
chmod
comando para alterar los permisos estándar y viceversa cuando ejecute, por ejemplogetfacl -m u:someuser:rwx
, el permiso de archivo estándar para el propietario del archivo cambiará y el cambio se reflejará en lals -l
salida. Eso es todo cierto, pero no veo cómo responde a mi pregunta-rw-r--r-- 1 user user
usuario de prueba" para el archivo con permisos iniciales , se aceptará la ACL de ese usuario nombrado, y la máscara ACL (junto con los permisos del grupo de archivos) también se alterará a rwx. --- [ver el siguiente comentario como continuación]-rw-rwxr-- 1 user user
permisos del archivo o no? ¿Cómo se determina la contradicción? ¿Al comparar los permisos de ACL de testuser con el permiso de grupo de archivos estándar? ¿Qué lógica te llevó a comparar los permisos de grupo con los permisos de usuario? ¿No son entidades diferentes? ¿No es contradictorio? Probablemente sea obvio para ti, pero todavía estoy luchando por comprenderlo.Finalmente entendí qué está ocurriendo exactamente cuando vi este enlace Manejando ACL
Específicamente, esas máscaras básicamente reemplazan y funcionan para reemplazar al USUARIO NOMBRADO y todos los permisos de GRUPO. Esto significa que si usted:
Espero que esto ayude.
fuente
La lógica está completamente rota y, por lo tanto, las ACL POSIX son tonterías puras e inútiles.
Si pretendían preservar la compatibilidad con aplicaciones que no tienen la noción de ACL excepto el
modeloprimitivoestándar"ugo" de UNIX, en realidad fallaron al principio porque ahora cada aplicación que borra los permisos del grupo está retirando efectivamente el acceso agregado por las ACL.fuente