8 access control lists

623 views
561 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
623
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
6
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

8 access control lists

  1. 1. 95 Access Control Lists Los archivos y directorios tienen conjuntos de permisos configurados para el propietario del archivo, el grupo asociado con el archivo y todos los otros usuarios del sistema. Sin embargo, estos permisos tienen sus limitaciones. Por ejemplo, no se puedenconfigurar diferentes permisos para usuarios diferentes. Por ello, se implementaronlas Listas de Control de Acceso (ACLs - Access Control Lists). El kernel de Red Hat Enterprise Linux 5 proporciona soporte para ACL para el sistema de archivos ext3 y los sistemas de archivos con exportaciones NFS. También se reconocen las ACLs en sistemas de archivos ext3 accedidos a través de Samba. Se requiere el paquete acl para implementar ACLs junto con el soporte en el kernel. Este contiene utilidades usadas para añadir, modificar, eliminar y recuperar información de ACL. Los comandos cp y mv copian o mueven cualquier ACLs asociado con archivos y directorios. 8.1. Montaje de sistemas de archivos Antes de usar ACL para un archivo o directorio, la partición para el archivo o directorio debe ser montada con soporte ACL. Si es un sistema de archivos local, se puede montar con el comando siguiente: mount -t ext3 -o acl <device-name> <partition> Por ejemplo: mount -t ext3 -o acl /dev/VolGroup00/LogVol02 /work Alternativamente, si la partición esta listada en el archivo /etc/fstab, la entrada para la partición puede incluir la opción acl: LABEL=/work /work ext3 acl 1 2 Si se accede a un sistema de archivos ext3 a través de Samba y se tiene activado las ACLs para este, las ACLs serán reconocidas porque Samba ha sido compilado con la opción --with-acl- support. No se requiere ningún indicador especial cuando se este montandouna compartición Samba. 8.1.1. NFS Por defecto, si el sistema de archivos que está siendo exportado por un servidor NFS soporta ACLs y el cliente NFS puede leer ACLs, los ACLs seran utilizados por el sistema cliente. Para desactivar ACLs en sistemas de archivos NFS cuando se esté configurando el servidor, incluya la opción no_acl en el archivo /etc/exports. Para desactivar ACLs en una sistema compartido NFS cuando se esté montandoen un cliente, móntelo con la opción no_acl a través de la línea de comandos o del archivo /etc/fstab. 8.2. Configuración de acceso a ACLs Existen dos tipos de ACLs: acceso ACLs y ACLs predeterminado. Un acceso a ACLs es la lista de control de acceso para un archivo o directorio específico. Un ACLs predeterminado sólo puede ser
  2. 2. 96 Configurar ACLs predeterminados asociado con un directorio, si un archivo dentro del directorio no tiene un ACL, el archivo utilizará las reglas del ACL predeterminado para el directorio. Los ACLs predeterminado son opcionales. Los ACLs se pueden configurar: 1. Por usuario 2. Por grupo 3. A través de la máscara de derechos efectivos 4. Para usuarios que no estén en el grupo de usuarios para el archivo La utilidad setfacl configura ACLs para archivos y directorios. Utilice la opción -m para añadir o modificar el ACL de un archivo o directorio: setfacl -m <rules> <files> Rules (<rules>) must be specified in the following formats. Multiple rules can be specified in the same command if they are separated by commas. u:<uid>:<perms> Configura el acceso ACL para un usuario. Se debe especificar el nombre del usuario o su UID. El usuario puede ser cualquier usuario válido en el sistema. g:<gid>:<perms> Configura el acceso ACL para un grupo. Se debe especificar el nombre del grupo o su GID. El grupo puede ser cualquier grupo válido en el sistema. m:<perms> Configura la máscara de derechos efectivos. La máscara es la unión de todos los permisos del grupo propietario y todas las entradas del usuario y grupo. o:<perms> Configura el acceso ACL para otros usuarios que no esten en el grupo para el archivo. White space is ignored. Permissions (<perms>) must be a combination of the characters r, w, and x for read, write, and execute. Si un archivo o directorio ya tiene una ACL y se usa el comando setfacl, se añadenlas reglas adicionales al ACL existente o la regla existente es modificada. Por ejemplo, para otorgar permisos de lectura y escritura para el usuario andrius: setfacl -m u:andrius:rw /project/somefile Para eliminar todos los permisos para un usuario, grupo u otros, utilice la opción -x y no especifique ningún permiso: setfacl -x <rules> <files> Por ejemplo, para eliminar todos los permisos del usuario con UID 500: setfacl -x u:500 /project/somefile
  3. 3. 97 Configurar ACLs predeterminados 8.3. Configurar ACLs predeterminados Para configurar un ACLs predeterminado, añada d: antes de la regla y especifique un directorio en vez de un nombre de archivo. Por ejemplo, para configurar el ACL predeterminado para el directorio /share/ para que lea y ejecute para los usuarios que no se encuentren en el grupo del usuario (un acceso ACL para un archivo individual puede anularlo): setfacl -m d:o:rx /share 8.4. Recuperar ACLs Para determinar la existencia de ACLs para un archivo o directorio, utilice el comando getfacl. En el siguiente ejemplo, getfacl seutiliza para determinar los ACLs existentes para un archivo. getfacl home/john/picture.png El comando anterior devuelve la siguinete salida: # file: home/john/picture.png # owner: john # group: john user::rw- group::r-- other::r-- Si se especifica un directorio y tiene un ACL predeterminado, el ACL por defecto también se presenta como se ve a continuación. [john@main /]$ getfacl home/sales/ # file: home/sales/ # owner: john # group: john user::rw- user:barryg:r-- group::r-- mask::r-- other::r-- default:user::rwx default:user:john:rwx default:group::r-x default:mask::rwx default:other::r-x 8.5. Archivar sistemas de archivos con ACLs Aviso Los comandos tar y dump no respaldan ACLs.
  4. 4. 98 Configurar ACLs predeterminados The star utilityis similar to the tar utilityin that it can be used to generate archives of files; however, some of its options are different. Refer to Tabla 8.1, “Opciones de línea de comandos para star” for a listing of more commonly used options. For all available options, refer to the star man page. The star package is required to use this utility. Opción Descripción -c Crea un paquete de archivos. -n No extrae los archivos; úselo en conjunto -x para mostrar qué hace la extracción de archivos. -r Reemplaza archivos en el paquete. Los archivos son escritos al final del paquete de archivos, reemplazando cualquier archivo con la misma ruta y nombre de archivo. -t Muestra los contenidos de un paquete de archivos. -u Actualiza el paquete de archivos. Los archivos son escritos al final del paquete si no existen en el paquete o si los archivos son más recientes que los archivos del mismo nombre en el paquete. Esta opción sólo funciona si el paquete es un archivo o una cinta no bloqueada en la que se pueda grabar en diferentes ubicaciones. -x Extrae los archivos del paquete. Si se utiliza con -U y un archivo en el paquete es más antiguo que el archivo correspondiente en el sistema de archivos, el archivo no es extraído. -help Muestra las opciones más importantes. -xhelp Despliega las opciones menos importantes. -/ No quita las barras oblicuas al comienzo de los nombres de archivos cuando se extraen archivos desde un paquete. Por defecto, estos son removidos cuando se extraen los archivos. -acl Cuando se cree o extraiga, empaquete o restaure cualquier ACL asociado con los archivos y directorios. Tabla 8.1. Opciones de línea de comandos para star 8.6. Compatibilidad con sistemas antiguos Si se ha configurado un ACL en cualquier archivo en un sistema de archivos dado, ese archivo tiene el atributo ext_attr. Este atributo se puede ver usando el comando siguiente: tune2fs -l <filesystem-device> Se puede montar un sistema de archivos que haya adquirido el atributo ext_attr con kernels más viejos, pero estos kernels no hacen cumplir ningún ACLs que se haya configurado. Las versiones de la utilidad e2fsck incluídas en la versión 1.22 y posteriores del paquete e2fsprogs (incluyendo las versiones en Red Hat Enterprise Linux 2.1 y 4) pueden verificar un sistema de archivos con el atributo ext_attr. Las versiones anteriores no lo hacen.
  5. 5. 99 Configurar ACLs predeterminados 8.7. Recursos adicionales Consulte los recursos siguientes para más información. 8.7.1. Documentación instalada • Página man de acl — Descripción de ACLs • Página man de getfacl — Discute cómo obtener las listas de control de acceso • Página man de setfacl — Explica cómo configurar listas de control de acceso de archivos • Página man de star — Explica más detalles sobre la utilidad star y sus opciones 8.7.2. Sitios Web de utilidad • http://acl.bestbits.at/ — Sitio Web para ACLs

×