Serie RHCSA: uso de ACL (listas de control de acceso) y montaje de recursos compartidos Samba/NFS-Parte 7

En el último artículo (serie RHCSA Parte 6) comenzamos a explicar cómo instalar y configurar el almacenamiento del sistema local usando parted. y ssm.

 Configurar ACL y montar NFS/Samba Shares Serie RHCSA :: Configurar ACL y montar NFS/Samba Shares-Parte 7

También discutimos cómo para crear y montar volúmenes cifrados con una contraseña durante el inicio del sistema. Además, le advertimos que evite realizar operaciones críticas de administración de almacenamiento en sistemas de archivos montados. Con eso en mente, ahora revisaremos los formatos de sistema de archivos más utilizados en Red Hat Enterprise Linux 7. y luego procederemos a cubrir los temas de montaje, uso y desmontaje. ambos manualmente. y sistemas de archivos de red automáticamente ( CIFS. y NFS. , junto con la implementación de listas de control de acceso para su sistema.

Requisitos previos

Antes de continuar, haga asegúrese de tener un servidor Samba. y un servidor NFS. disponibles (tenga en cuenta que NFSv2. ya no es compatible con RHEL 7. ).

Durante esta guía utilizaremos una máquina con IP 192.168.0.10. con ambos servicios ejecutándose en ella como servidor, y una caja RHEL 7. como cliente con dirección IP 192.168.0.18. Más adelante en el artículo le diremos qué paquetes necesita instalar en el cliente.

Formatos del sistema de archivos en RHEL 7

A partir de RHEL 7. XFS. se ha introducido como el sistema de archivos predeterminado para todas las arquitecturas debido a su alto rendimiento y escalabilidad. Actualmente admite un tamaño máximo de sistema de archivos de 500 TB. según las últimas pruebas realizadas por Red Hat y sus socios para hardware convencional.

Además, XFS. habilita user_xattr (atributos de usuario extendidos) y acl (control de acceso POSIX listas) como opciones de montaje predeterminadas, a diferencia de ext3 o ext4 (ext2 se considera obsoleto a partir de RHEL 7), lo que significa que no es necesario especificar esas opciones explícitamente ni en la línea de comandos ni en /etc/fstab. al montar un sistema de archivos XFS (si desea deshabilitar tales opciones en este último caso, debe usar explícitamente no_acl y no_user_xattr ).

Tenga en cuenta que los atributos de usuario extendidos se pueden asignar a archivos y directorios para almacenar información adicional arbitraria, como el tipo de mime, el juego de caracteres o la codificación de un archivo, mientras que el acceso permite Las opciones para los atributos de usuario están definidas por los bits de permisos de archivos regulares.

Listas de control de acceso

Como todo administrador del sistema, ya sea principiante o experto, está familiarizado con los permisos de acceso regulares a archivos y directorios, que especifican ciertos privilegios ( leer. escribir. y ejecutar. para el propietario, el grupo y “el mundo” (todos los demás). Sin embargo, no dude en consultar la Parte 3 de la serie RHCSA si necesita refrescar un poco su memoria.

Sin embargo, dado que el conjunto estándar ugo/rwx. no permite Para configurar diferentes permisos para diferentes usuarios, se introdujeron ACL. con el fin de definir derechos de acceso más detallados para archivos y directorios que los especificados por los permisos normales.

De hecho, los permisos definidos por ACL. son un superconjunto de los permisos especificados por los bits de permisos del archivo. Veamos cómo se aplica todo esto en el mundo real.

1.. Hay dos tipos de ACL. acceso a ACL. que se puede aplicar a un archivo o directorio específico), y ACL predeterminadas. que solo se pueden aplicar a un directorio. Si los archivos que contiene no tienen una ACL establecida, heredan la ACL predeterminada de su directorio principal.

2.. Para comenzar, las ACL se pueden configurar por usuario, por grupo, o por un usuario que no está en el grupo propietario de un archivo.

3.. Las ACL. se configuran (y eliminan) mediante setfacl. con las opciones -m. o -x. respectivamente.

Por ejemplo, creemos un grupo llamado tecmint. y agregue los usuarios johndoe. y davenull. a él:

# groupadd tecmint # useradd johndoe # useradd davenull # usermod-a-G tecmint johndoe # usermod-a-G tecmint davenull

Y verifiquemos que ambos usuarios pertenecen al grupo suplementario tecmint.

# id johndoe # id davenull  Verificar usuarios Verificar usuarios

Creemos ahora un directorio llamado playground dentro de /mnt. y un archivo llamado testfile.txt</× adentro. Configuraremos el propietario del grupo en tecmint. y cambiaremos sus permisos predeterminados ugo/rwx. a 770. (permisos de lectura, escritura y ejecución otorgados a ambos el propietario y el propietario del grupo del archivo):.

# mkdir/mnt/playground # touch/mnt/playground/testfile.txt # chmod 770/mnt/playground/testfile.txt

Luego cambia de usuario a johndoe. y davenull. en ese orden, y escribe en el archivo:

echo “Mi nombre es John Doe”>/mnt/playground/testfile .txt echo “Mi nombre es Dave Null”>>/mnt/playground/testfile.txt

Hasta ahora todo bien. Ahora hagamos que el usuario gacanepa. escriba en el archivo, y la operación de escritura fallará, lo que era de esperar.

Pero, ¿y si realmente necesitamos al usuario gacanepa. (que no es miembro del grupo tecmint. para tener permisos de escritura en /mnt/playground/testfile.txt?. Lo primero que puede venir a su mente es agregando esa cuenta de usuario al grupo tecmint. Pero eso le dará permisos de escritura en TODOS. los archivos donde el bit de escritura está configurado para el grupo, y no queremos eso. Solo queremos que pueda escribir en /mnt/playground/testfile.txt.

# touch/mnt/playground/testfile.txt

# chown: tecmint/mnt/playground/testfile .txt

# chmod 777/mnt/playground/testfile.txt

# su johndoe $ echo “Mi nombre es John Doe”>/mnt/playground/testfile.txt $ su davenull

$ echo “Mi nombre es Dave Null”>>/mnt/playground/testfile.txt

$ su gacanepa $ echo “Mi nombre es Gabriel Canepa”>>/mnt/playground/testfile.txt  Administrar permisos de usuario Administrar permisos de usuario

Démosle al usuario gacanepa. acceso de lectura y escritura a /mnt/playground/testfile.txt.

Ejecutar como root,

# setfacl-R-mu: gacanepa: rwx/mnt/playground

y han agregado correctamente una ACL. que permite a gacanepa. escribir en el archivo de prueba. Luego cambie al usuario gacanepa. e intente escribir en el archivo nuevamente:

$ echo “Mi nombre es Gabriel Canepa”>>/mnt/playground/testfile.txt

Para ver las ACL. de un archivo o directorio específico, use getfacl.

# getfacl/mnt/playground/testfile.txt  Comprobar las ACL de los archivos Comprobar las ACL de los archivos

Para establecer una LCA predeterminada. en un directorio (cuyo contenido heredará a menos que se sobrescriba de otro modo), agregue d:. antes de la regla y especifique un directorio en lugar de un archivo name:

# setfacl-md: o: r/mnt/playground

La ACL anterior permitirá a los usuarios que no estén en el propietario gr oup para tener acceso de lectura a los futuros contenidos del directorio /mnt/playground. Tenga en cuenta la diferencia en la salida de getfacl/mnt/playground. antes y después del cambio:

 Establecer ACL predeterminada en Linux Establecer ACL predeterminada en Linux

El Capítulo 20 de la Guía de administración de almacenamiento RHEL 7 oficial proporciona más ejemplos de ACL, y te recomiendo que le eches un vistazo y lo tengas a mano como referencia.