El comando setfacl se usa para cambiar los permisos asociados con la ACL de un archivo o directorio. El comando setfacl tiene varias opciones, algunas de las más comunes se describen en la siguiente tabla.
Opción | Descripción |
---|---|
-R | Configura recursivamente las opciones de ACL para los directorios y sus contenidos. |
-s | Establecer la ACL de un objeto, reemplazando cualquier ACL existente. |
-m | Modificar la ACL existente de un objeto. |
-x | Eliminar entradas de una ACL existente. |
-b | Eliminar todas las entradas de ACL (sin incluir los permisos estándar). |
Sintaxis
La sintaxis del comando setfacl es:
# setfacl [-bR] [-mx {acl_spec}] {file/directory names}
El siguiente es un ejemplo de cómo modificar la ACL en un directorio donde el usuario http tiene acceso de lectura:
setfacl -m u:http:r-- /home/directory
Si encuentra el siguiente error al ejecutar el comando setfacl:
setfacl: command not found
puede intentar instalar el siguiente paquete según su elección de distribución:
Distribución | Comando |
---|---|
Debian | apt-get install acl |
Ubuntu | apt-get install acl |
Alpino | apk agregar acl |
Arco Linux | pacman-S acl |
Kali Linux | apt-get install acl |
Cent OS | yum instalar acl |
Fedora | acl de instalación de dnf |
Raspbian | apt-get install acl |
Eliminación de LCA
El comando setfacl también se usa con la opción -x para eliminar la ACL aplicada para cualquier usuario o grupo. La única diferencia entre eliminar ACL y configurar ACL es que no especificamos el permiso durante la eliminación. El siguiente ejemplo ilustra el uso del comando setfacl para eliminar la ACL aplicada a un archivo llamado file1 para el usuario geel y el grupo lab:
$ setfacl -x u:geek,g:lab file1
Para eliminar todas las ACL de un archivo o directorio, podemos usar la opción -b, como se muestra en el siguiente comando:
$ setfacl -b file1
Ejemplos de comandos setacl
1. Modificar ACL de un archivo para usuarios con acceso de lectura y escritura:
# setfacl -m u:username:rw file
2. Modifique la ACL predeterminada de un archivo para todos los usuarios:
# setfacl -d -m u::rw file
3. Eliminar ACL de un archivo para un usuario:
# setfacl -x u:username file
4. Eliminar todas las entradas de ACL de un archivo:
# setfacl -b file