Listas de control de acceso: las famosas ACLs

Los archivos y directorios tienen conjuntos de permisos configurados para el propietario del archivo, el grupo propietario del archivo y todos los otros usuarios del sistema. Sin embargo, estos permisos tienen sus limitaciones. Por ejemplo, no podemos configurar diferentes permisos para usuarios diferentes. Para poder hacer este tipo de cosas que no sería posible de hacer con el esquema tradicional de permisos, se crearon las Listas de Control de Acceso. En la jerga se las conoce más por sus siglas en inglés (ACL, de Access Control Lists).

Listas de control de acceso en Linux
Listas de control de acceso en Linux

Listas de control de acceso

Junto con el soporte en el kernel, se requiere el paquete acl para implementar esta funcionalidad. Dicho paquete  provee las utilidades usadas para añadir, modificar, eliminar y recuperar información de ACL.

Existen dos tipos de ACLs:

  • ACLs de acceso: lista de permisos de acceso para un archivo o directorio específico.
  • ACLs predeterminado: sólo puede ser asociado con un directorio. Si un archivo dentro de un directorio no tiene una ACL, utiliza las reglas del ACL predeterminado del directorio.

Veamos a continuación cómo configurar listas de control de acceso.

Configuración

Los ACLs se pueden configurar:

  • Por usuario
  • Por grupo
  • Para usuarios que no estén en el grupo de usuarios para el archivo
  • A través de la máscara de derechos efectivos

El comando setfacl configura ACLs para archivos y directorios. Vamos a utilizar el parámetro -m (o su equivalente --modify) para modifique el ACL de un archivo o directorio. Esta herramienta es la encargada de llevar a cabo el cambio de permisos de ACL sobre un archivo o directorio (<files> en el ejemplo a continuación). Su sintaxis es la siguiente:

setfacl -m <rules> <files>

Las reglas (<rules>) deben ser especificadas siguiendo los formatos que explicaremos en el próximo post. Por el momento podemos ir adelantando que es posible especificar múltiples reglas en el mismo comando si estas se encuentran separadas por comas.

¡No se pierdan el próximo post para más detalles y ejemplos ilustrativos!

¡Aprovechá la oportunidad de suscribirte al blog para recibir en tu correo el post nuestro de cada día, novedades, y promociones exclusivas!