# ¿Qué son las ACLs en ficheros y carpetas y cuál es su importancia?

- Link: https://binariocero.com/articulos/que-son-las-acls-en-ficheros-y-carpetas-y-cual-es-su-importancia
- Published: 2024-09-10T09:10:42+02:00
- Author: Binario 0

![Loading](https://binariocero.com/wp-content/plugins/page-views-count/ajax-loader-
2x.gif)

En el mundo de la administración de sistemas y la gestión de servidores, una de 
las tareas más cruciales es la gestión de los permisos de acceso a archivos y carpetas.
Tradicionalmente, en sistemas operativos como Unix y Linux, los permisos básicos
de lectura, escritura y ejecución se asignan a tres categorías de usuarios: propietario,
grupo y otros. Sin embargo, estos permisos básicos pueden resultar limitados en 
situaciones donde se requiere un control más granular. Para cubrir esa necesidad,
se introdujeron las **Listas de Control de Acceso** o **ACLs** (_Access Control 
Lists_).

Este artículo explora qué son las ACLs, cómo funcionan en ficheros y carpetas, y
su importancia en la seguridad y administración de sistemas.

## ¿Qué son las ACLs?

Una **Lista de Control de Acceso (ACL)** es una característica avanzada que permite
asignar permisos detallados a varios usuarios y grupos, más allá de los permisos
estándar de propietario, grupo y otros. Una ACL es básicamente una lista que especifica
quién puede acceder a un recurso (archivo o carpeta) y qué tipo de acciones pueden
realizar sobre él, como leer, escribir o ejecutar.

Cada entrada en una ACL define un usuario o grupo específico y los permisos que 
se le asignan. Esto proporciona un control mucho más flexible sobre el acceso a 
los archivos y carpetas, permitiendo una mejor administración en entornos con múltiples
usuarios y roles.

### Permisos estándar frente a ACLs

En sistemas sin ACLs, los permisos tradicionales se limitan a:

 * **Propietario**: El usuario que creó el archivo o carpeta.
 * **Grupo**: El grupo de usuarios al que pertenece el propietario.
 * **Otros**: Cualquier otro usuario que no sea el propietario o miembro del grupo.

Por ejemplo, si un archivo tiene permisos "rwxr-xr--", significa:

 * El **propietario** puede leer, escribir y ejecutar.
 * El **grupo** puede leer y ejecutar, pero no escribir.
 * Los **otros** solo pueden leer.

Las ACLs permiten ir más allá de esta estructura fija, permitiendo asignar permisos
específicos a usuarios o grupos adicionales que no sean el propietario ni miembros
del grupo.

## ¿Cómo funcionan las ACLs?

Las ACLs se gestionan a nivel de sistema de archivos. En sistemas basados en Linux,
por ejemplo, el soporte para ACLs se puede habilitar en sistemas de archivos como
ext3, ext4 o XFS. Los administradores de sistemas utilizan comandos como `setfacl`
para configurar y modificar las ACLs de archivos y carpetas.

Una ACL puede contener varias entradas, como:

 * **ACL de usuario**: Define los permisos para un usuario específico.
 * **ACL de grupo**: Define los permisos para un grupo en particular.
 * **Máscara**: Define los permisos máximos que se pueden asignar a usuarios y grupos,
   restringiendo sus acciones.

### Ejemplo de uso

Imagina que tienes un archivo llamado `documento.txt` y necesitas que:

 1. El propietario del archivo pueda leer y escribir en él.
 2. Un grupo llamado "managers" pueda leer y escribir, pero no ejecutar.
 3. Un usuario específico llamado "juan" solo pueda leer el archivo.

Utilizando ACLs, puedes asignar permisos detallados a estos diferentes usuarios 
y grupos de la siguiente manera:

    ```wp-block-preformatted
    setfacl -m u:juan:r documento.txt   # Otorga permiso de solo lectura a 'juan'setfacl -m g:managers:rw documento.txt  # Otorga permiso de lectura y escritura al grupo 'managers'
    ```

Este tipo de granularidad en los permisos no es posible con los permisos tradicionales.

## Importancia de las ACLs

### 1. **Mayor flexibilidad en la gestión de permisos**

La mayor ventaja de las ACLs es que permiten un control más detallado sobre quién
puede acceder a un archivo o carpeta y qué acciones pueden realizar. Esto es especialmente
útil en entornos empresariales o de servidores donde múltiples usuarios o grupos
necesitan diferentes niveles de acceso a los mismos recursos.

### 2. **Mejora la seguridad**

Al poder especificar exactamente quién tiene acceso a qué, las ACLs permiten a los
administradores reducir el riesgo de acceso no autorizado. Esto ayuda a garantizar
que solo las personas adecuadas puedan modificar o acceder a ciertos archivos y 
carpetas críticos, fortaleciendo la seguridad del sistema.

### 3. **Permisos específicos para usuarios sin alterar el grupo general**

Sin las ACLs, cambiar los permisos de un archivo para un usuario específico podría
requerir modificaciones en los permisos generales o en la asignación de grupos. 
Con las ACLs, puedes dar acceso a usuarios específicos sin alterar los permisos 
de los demás, lo que proporciona un control más preciso.

### 4. **Cumplimiento normativo y auditoría**

En muchas organizaciones, existen regulaciones que exigen un control detallado sobre
el acceso a los datos. Las ACLs pueden ayudar a cumplir con estas normativas, ya
que permiten mantener registros detallados sobre quién tiene acceso a qué recursos
y en qué medida.

## Conclusión

Las **Listas de Control de Acceso (ACLs)** son una herramienta esencial para la 
administración avanzada de permisos en sistemas de archivos. Ofrecen una flexibilidad
y un control que los permisos estándar no pueden proporcionar, lo que las convierte
en una opción ideal para entornos donde la seguridad y el acceso controlado son 
críticos. En definitiva, las ACLs permiten a los administradores gestionar los permisos
de manera granular, mejorando tanto la seguridad como la eficiencia en la administración
de los recursos del sistema.
