Nota:
- Este tutorial está disponible en un entorno de laboratorio gratuito proporcionado por Oracle.
- Utiliza valores de ejemplo para las credenciales, el arrendamiento y los compartimentos de Oracle Cloud Infrastructure. Al finalizar la práctica, sustituya estos valores por valores específicos de su entorno en la nube.
Uso y activación de ACL en Oracle Linux
Introducción
Las listas de control de acceso (ACL) proporcionan control de acceso a los directorios y archivos. Las ACL pueden definir permisos de lectura, escritura y ejecución para el propietario, el grupo y todos los demás usuarios del sistema.
Una ACL consta de un juego de reglas que especifican cómo un usuario o grupo específico puede acceder a los archivos y directorios activados para ACL. Una entrada de ACL normal especifica la información de acceso para un único archivo o directorio. Una entrada de ACL por defecto se define sólo en directorios y especifica la información de acceso por defecto para cualquier archivo del directorio que no tenga una ACL de acceso.
Al definir una ACL por defecto en un directorio, sus subdirectorios heredan los mismos derechos automáticamente. Las ACL se pueden utilizar con los sistemas de archivos btrfs
, ext3
, ext4
, OCFS2
y XFS
, así como los sistemas de archivos NFS montados.
Objetivos
- Comprobar Soporte de ACL del Sistema de Archivos
- Utilice los comandos
setfacl
ygetfacl
para agregar y mostrar reglas de ACL
Requisitos
Un sistema con un disco disponible y una instalación con parches completos de Oracle Linux.
Configuración del entorno del laboratorio
Nota: Al utilizar el entorno de prácticas gratuitas, consulte Aspectos básicos de las prácticas de Oracle Linux para obtener información sobre la conexión y otras instrucciones de uso.
-
Si aún no está conectado, abra un terminal y conéctese mediante ssh a la instancia ol-node01.
ssh oracle@<ip_address_of_instance>
-
Verifique que los volúmenes en bloque existen.
sudo lsblk -f
La salida del entorno de prácticas libres muestra dos dispositivos de bloques:
sda
, que contiene el sistema operativo base, ysdb
, que utiliza este laboratorio. El uso de la opción-f
muestra el tipo de sistema de archivos (FSTYPE) y el identificador único universal de bloques (UUID).
Montaje del sistema de archivos con compatibilidad con ACL
-
Cree un directorio de punto de montaje.
sudo mkdir /test
-
Verifique que exista compatibilidad con ACL.
Los sistemas de archivos de Oracle Linux, como
ext4
,btrfs
yxfs
, activan la opción de montaje acl como valor predeterminado. En un sistema de archivosext4
como/dev/sdb1
, verifique esto contune2fs
.sudo tune2fs -l /dev/sdb1 | grep -i acl
Resultado de ejemplo:
[oracle@ol-node01 ~]$ sudo tune2fs -l /dev/sdb1 | grep -i acl Default mount options: user_xattr acl
-
Monte el disco con compatibilidad con ACL.
Si el sistema de archivos no tiene la opción de montaje acl activada de manera predeterminada, transfiera
-o acl
al utilizar el comandomount
. Dado que/dev/sdb1
utilizaext4
, esta opción ya está activada por defecto.sudo mount -t ext4 /dev/sdb1 /test
Para que este punto de montaje sea persistente tras los reinicios, agréguelo al archivo fstab.
MYUUID=$(sudo blkid | grep UUID= | grep sdb1 | awk '{ print $2 }') echo "$MYUUID /test ext4 defaults 0 0" | sudo tee -a /etc/fstab > /dev/null
-
Verifique que existe el montaje del sistema de archivos.
df -T | grep sdb1
La salida muestra que el sistema de archivos ext4
/dev/sdb1
existe en el punto de montaje/test
.
Usar funcionalidad de ACL
-
Intente crear un archivo en el nuevo punto de montaje.
touch /test/file1
Resultado de ejemplo:
touch: cannot touch '/test/file1': Permission denied
El comando falla porque el usuario
oracle
no tiene permiso para crear archivos en el directorio/test
. -
Obtener la información de ACL del directorio.
sudo getfacl /test
Resultado de ejemplo:
[oracle@ol-node01 ~]$ sudo getfacl /test getfacl: Removing leading '/' from absolute path names # file: test # owner: root # group: root user::rwx group::r-x other::r-x
-
Agregue una regla de ACL al directorio.
sudo setfacl -m u:oracle:rwx /test
La regla otorga permisos read, write y execute al usuario
oracle
. -
Compruebe la información de ACL actualizada del directorio.
sudo getfacl /test
Resultado de ejemplo:
getfacl: Removing leading '/' from absolute path names # file: test # owner: root # group: root user::rwx user:oracle:rwx group::r-x mask::rwx other::r-x
La salida muestra la línea
user:oracle:rwx
recién agregada. -
Mostrar el formato de lista largo de sólo el directorio.
ls -ld /test
Resultado de ejemplo:
drwxrwxr-x+ 3 root root 4096 Jul 13 20:48 /test
Los permisos que se muestran en la salida incluyen un signo más (
+
) que indica la inclusión de una ACL. -
Intente crear el archivo de nuevo.
touch /test/file1
El comando se debe ejecutar correctamente esta vez.
-
Confirme la creación del archivo.
ls -l /test
Consulte las páginas man getfacl
o man setfacl
para obtener más opciones y ejemplos.
Para obtener más información
Ver otros recursos relacionados:
Más recursos de aprendizaje
Explore otros laboratorios en docs.oracle.com/learn o acceda a más contenido de aprendizaje gratuito en el canal YouTube de Oracle Learning. Además, visite education.oracle.com/learning-explorer y conviértase en Oracle Learning Explorer.
Para obtener documentación sobre el producto, visite Oracle Help Center.
Use and Enable ACLs on Oracle Linux
F60351-01
July 2022
Copyright © 2022, Oracle and/or its affiliates.