En este post compartiremos un ejemplo de ACL para ilustrar el tema que comenzamos en el anterior. En particular, explicaremos cómo otorgar distintos tipos de acceso a un archivo para dos usuarios que pertenezcan al mismo grupo. Es importante aclarar que para utilizar ACLs es necesario que el sistema de archivos haya sido montado con la opción respectiva. Por defecto, los sistemas ext4 se montan con esta funcionalidad. Podemos verificar esto con el comando tune2fs
seguido de la opción -l
y del sistema de archivos a verificar, por ejemplo tune2fs -l /dev/sda1
.
Ejemplo de ACL
Para empezar, supongamos el siguiente escenario. Los usuarios gabriel y fulano son miembros del grupo familia, como podemos ver en la Fig. 1. Por eso, ambos tienen acceso de lectura y escritura al archivo /comunes/archivoprueba. Con el esquema tradicional de permisos (ugo/rwx) se vuelve un tanto complicado asignar diferentes niveles de acceso a este archivo para cada usuario.
Para remediar esta situación, podemos utilizar listas de control de acceso. Supongamos que deseamos que gabriel continúe teniendo permisos de escritura, pero que fulano solamente pueda leer. Para lograr ese objetivo, crearemos una ACL de sólo lectura en /comunes/archivoprueba para este último. La sintaxis es la siguiente:
setfacl -m u:uid:perms /ruta/al/archivo
donde uid puede ser el UID de la cuenta en cuestión o bien del nombre de usuario, y perms representa el permiso que deseamos asignar.
En nuestro caso, esto significa:
setfacl -m u:fulano:r /comunes/archivoprueba
Con getfacl
podemos verificar que se haya aplicado la ACL. Finalmente, en la Fig. 2 vemos el resultado de intentar escribir en el mismo archivo luego del cambio:
Para eliminar la ACL, podemos utilizar el siguiente comando:
setfacl -x u:fulano /comunes/archivoprueba
Espero que este post les haya resultado útil (¡más info en el siguiente!). ¡Nos leemos en breve!
¡Aprovechá la oportunidad de suscribirte al blog para recibir en tu correo el post nuestro de cada día, novedades, y promociones exclusivas!