En entornos Linux, la gestión de usuarios y permisos es fundamental para garantizar la seguridad del sistema. Si bien los permisos tradicionales (lectura, escritura y ejecución para propietario, grupo y otros) son efectivos, en ocasiones se necesita un control más granular. Aquí es donde entran en juego las ACLs (Access Control Lists), una herramienta poderosa para asignar permisos específicos a múltiples usuarios o grupos sobre un mismo archivo o directorio.
En este artículo, te mostramos cómo gestionar usuarios y permisos con ACL en sistemas basados en Debian, Fedora y CentOS, paso a paso.
¿Qué es una ACL en Linux?
Una ACL permite definir permisos adicionales más allá del sistema tradicional de permisos. Por ejemplo, podés otorgarle acceso de solo lectura a un usuario específico, sin modificar el grupo del archivo o alterar los permisos existentes.
Esto es especialmente útil en entornos multiusuario o servidores compartidos, donde se necesita una mayor flexibilidad.
Habilitar ACL en tu sistema de archivos
En muchos casos, las ACL ya están habilitadas por defecto, pero es importante verificarlo.
Debian y derivados
En Debian y Ubuntu, el sistema de archivos ext4 generalmente viene con soporte ACL. Para asegurarte, verificá las opciones de montaje:
mount | grep acl
Si no está habilitado, editá el archivo /etc/fstab
y agregá acl
en las opciones de montaje:
UUID=xxxx-xxxx / ext4 defaults,acl 0 1
Luego, remonta el sistema de archivos:
sudo mount -o remount /
Fedora y CentOS
En Fedora y CentOS, ext4 también suele tener ACL activado. Verificá de igual forma con:
tune2fs -l /dev/sdX | grep "Default mount options"
Si no ves «acl», editá el archivo /etc/fstab
como se indicó arriba y remonta la partición.
Establecer permisos con ACL
Una vez habilitada la funcionalidad, podés utilizar los comandos setfacl
y getfacl
.
Ejemplo práctico
Supongamos que tenés un archivo llamado informe.txt
propiedad del usuario juan
y querés que el usuario maria
tenga permisos de lectura.
Ejecutá:
setfacl -m u:maria:r informe.txt
Para verificar los permisos:
getfacl informe.txt
Podés hacer lo mismo con directorios, e incluso usar el modificador -R
para aplicar los permisos de forma recursiva.
Permisos predeterminados con ACL
También podés definir permisos por defecto para todos los archivos creados en un directorio:
setfacl -d -m u:maria:rw /carpeta/
Esto significa que todos los archivos nuevos creados dentro de /carpeta/
permitirán a maria
leer y escribir automáticamente.
Eliminar permisos ACL
Si necesitás eliminar los permisos ACL de un archivo:
setfacl -x u:maria informe.txt
O si querés eliminar todas las ACLs de un archivo:
setfacl --remove-all informe.txt
Consideraciones de seguridad
Aunque las ACL brindan flexibilidad, es importante no abusar de ellas. Un exceso de permisos personalizados puede dificultar la administración del sistema y generar brechas de seguridad. Asegurate de documentar los cambios y aplicar únicamente los permisos necesarios.
Conclusión
Las ACL en Linux son una herramienta poderosa para una gestión avanzada de permisos. Ya sea en servidores con Debian, Fedora o CentOS, implementar ACL te permitirá tener mayor control sobre los accesos, mejorando la seguridad y organización del sistema.
¿Ya usás ACL en tus sistemas? Contanos tu experiencia en los comentarios. Y si te gustó este artículo, ¡compartilo!