fbpx ACLs en Linux: Control de acceso con getfacl y setfacl | Certificação Linux

Domina las ACLs en Linux: control de acceso granular

📅 13/08/2024 ⏱ 4 min ✍️ Uira Ribeiro
LinuxSeguridadPermisos
Domina las ACLs en Linux: control de acceso granular
Exam Pass App — mais de 7.000 questões LPI, offline, em 5 idiomas, disponível no Android e na App Store
Disponible en
Google Play
Disponible en
App Store

Los permisos tradicionales de Linux (lectura, escritura y ejecución) ofrecen una forma básica de control de acceso para archivos y directorios. Sin embargo, en entornos más complejos, donde diferentes usuarios y grupos necesitan diferentes niveles de acceso a archivos específicos, los permisos tradicionales pueden volverse limitados. Aquí es donde entran las Access Control Lists (ACLs).

Las ACL permiten definir permisos detallados para múltiples usuarios y grupos, más allá de las restricciones de los permisos básicos de Linux. En este artículo, aprenderás qué son las ACL, cómo configurarlas y cómo usarlas para mejorar la seguridad y la flexibilidad del sistema.

¿Qué Son las ACL en Linux?

Las Access Control Lists (ACLs) son una extensión de los permisos de archivos y directorios en Linux. Permiten definir permisos específicos para usuarios y grupos individuales, además de los permisos predeterminados de propietario, grupo y otros.

Por ejemplo, si tienes un archivo que necesita ser accedido por varios usuarios con diferentes niveles de permiso, puedes usar ACL para especificar exactamente quién puede hacer qué, sin necesidad de cambiar el propietario o el grupo del archivo.

Cómo Verificar Si las ACL Están Activadas en Tu Sistema

Antes de comenzar a usar ACL, debes verificar si el sistema de archivos soporta y tiene las ACL activadas. Puedes hacerlo con el comando tune2fs o mount.

Verificando con tune2fs:

sudo tune2fs -l /dev/sda1 | grep "Default mount options"

Verificando con mount:

mount | grep acl

Si las ACL no están activadas, puedes activarlas al montar el sistema de archivos con la opción acl o ajustando el /etc/fstab para que el sistema de archivos se monte con soporte a ACL en el inicio.

Cómo Usar ACL en Linux

1. Mostrando ACL de un Archivo o Directorio

Para ver las ACL asignadas a un archivo o directorio, usa el comando getfacl:

getfacl nome_do_arquivo

Este comando muestra los permisos tradicionales, además de las ACL asociadas al archivo.

2. Configurando ACL con setfacl

Puedes agregar o modificar ACL usando el comando setfacl. Aquí hay algunos ejemplos comunes:

  • Conceder Permisos de Lectura y Escrita a un Usuario Específico:
setfacl -m u:usuario:rwx nome_do_arquivo

En este ejemplo, u:usuario:rwx concede al usuario especificado permisos de lectura, escritura y ejecución para el archivo.

  • Conceder Permisos a un Grupo Específico:
setfacl -m g:grupo:rx nome_do_arquivo

Aquí, g:grupo:rx concede al grupo especificado permisos de lectura y ejecución.

  • Eliminar Permisos Específicos:
setfacl -x u:usuario nome_do_arquivo

Este comando elimina los permisos ACL específicos de un usuario.

3. Aplicando ACL Recursivamente

Para aplicar ACL a un directorio y todos sus subdirectorios y archivos:

setfacl -R -m u:usuario:rwX nome_do_diretório

En este ejemplo, -R aplica los permisos recursivamente. La X concede permisos de ejecución solo si el archivo ya es ejecutable o si es un directorio.

4. Configurando ACL Predeterminadas en Directorios

Puedes definir ACL predeterminadas para que todos los nuevos archivos y subdirectorios creados dentro de un directorio hereden estos permisos:

setfacl -m d:u:usuario:rwx nome_do_diretório

El prefijo d: indica que estás configurando ACL predeterminadas.

Cómo Eliminar ACL

Para eliminar todas las ACL de un archivo o directorio y volver a los permisos predeterminados, usa el siguiente comando:

setfacl -b nome_do_arquivo

Esto elimina todas las entradas ACL, dejando solo los permisos tradicionales.

¿Por Qué Usar ACL?

Las ACL son particularmente útiles en escenarios donde:

  • Múltiples Usuarios necesitan diferentes niveles de acceso al mismo archivo o directorio.
  • Entornos Colaborativos requieren control granular sobre quién puede editar, ver o ejecutar archivos específicos.
  • Administración de Sistemas Complejos, donde gestionar permisos de grupo o propietario solo se vuelve ineficiente.

Conclusión

Las Access Control Lists (ACLs) en Linux ofrecen un control mucho más granular sobre los permisos de archivos y directorios que los permisos tradicionales. Permiten ajustar el acceso de forma precisa, garantizando que cada usuario y grupo tenga exactamente los permisos necesarios.

Si estás administrando un sistema con muchos usuarios o necesitas garantizar la seguridad y el control de acceso en un entorno colaborativo, dominar el uso de las ACL es esencial. Experimenta con los comandos getfacl y setfacl en tu sistema y observa cómo las ACL pueden facilitar la gestión de los permisos.


Uira Ribeiro

Prof. Uirá Ribeiro

Chair do Board do Linux Professional Institute

Después de años viendo profesionales perder horas en tareas simples por no conocer las herramientas correctas de Linux, decidí enseñar.
Hoy soy autor de la mayoría de los Materiales de Aprendizaje oficiales de la LPI y mentor de más de 14,000 alumnos certificados.

Conoce mi historia completa →

Eso fue solo una pieza. El curso enseña el camino completo — desde tu primer comando hasta el día del examen.

Certificação Linux — a plataforma líder em certificações Linux no Brasil
WhatsApp