Tabla de contenidos
Resumen
Este capítulo le proporciona información sobre el trasfondo y las funciones de las ACLs POSIX para sistemas de archivos Linux. En él aprenderá cómo se amplía el concepto tradicional de permisos para sistemas de archivos por medio de las ACLs (Access Control Lists) y qué ventajas ofrece este concepto.
La expresión POSIX ACL sugiere que se trata de un auténtico estándar de la familia POSIX (Portable Operating System Interface). Por diversos motivos se retiraron los borradores de los estándares POSIX 1003.1e y POSIX 1003.2c. No obstante, las ACLs en muchos sistemas operativos de tipo UNIX se basan en estos documentos. La implementación de ACLs de sistemas de archivos descrita en este capítulo está basada en el contenido de estos borradores que se pueden consultar en la siguiente URL: http://wt.xpilot.org/publications/posix.1e/
De manera tradicional, para cada objeto en Linux se definen tres grupos de
permisos. Estos grupos reflejan los permisos de escritura
(w), lectura (r) y ejecución
(x) para las tres clases de usuarios: propietario del
archivo (owner), grupo
(group) y el resto
(other). Además es posible definir los bits
set user id, set group id y
sticky.
Para la mayoría de los casos que se dan en la práctica, este escueto
concepto es más que suficiente. En el caso de escenarios complejos o
aplicaciones más avanzadas, los administradores de sistemas debían echar
mano antiguamente de distintos trucos para evitar las limitaciones del
concepto de permisos tradicional.
Las ACLs intervienen en las situaciones en las que el concepto tradicional de permisos para archivos resulta insuficiente. Estas permiten asignar permisos a determinados usuarios o grupos, incluso cuando estos permisos no coinciden con los del propietario del archivo o su grupo. Las listas de control de acceso son una característica del kernel de Linux y actualmente están soportadas por ReiserFS, Ext2, Ext3, JFS y XFS. Con su ayuda es posible llevar a la práctica complejos escenarios sin que sea necesario implementar complicados modelos de permisos a nivel de aplicaciones.
Para ilustrar las ventajas de las listas de control de acceso puede tomarse el ejemplo de un servidor Windows que va a ser reemplazado por un servidor Linux. Algunas de las estaciones de trabajo conectadas seguirán funcionando con Windows. El sistema Linux, por su parte, proporciona a los clientes Windows servicios de servidor de archivos y de impresión por medio de Samba. Samba soporta las listas de control de acceso, por lo que los permisos de usuarios pueden ser configurados tanto en el servidor Linux como en Windows (sólo Windows NT o superior) a través de una interfaz gráfica de usuario. La herramienta winbindd permite incluso definir permisos para usuarios que sólo existen en el dominio Windows y no disponen de cuenta de usuario en el servidor Linux.