Publicado en

Cómo gestionar usuarios y permisos en Linux con ACL (Access Control Lists)

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!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *