3.10. Gestión de ACLs en un recurso compartido SMB mediante smbcacls
La utilidad smbcacls
puede listar, establecer y eliminar ACLs de archivos y directorios almacenados en un recurso compartido SMB. Puede utilizar smbcacls
para gestionar las ACL del sistema de archivos:
- En un servidor Samba local o remoto que utiliza ACLs avanzadas de Windows o ACLs POSIX
- En Red Hat Enterprise Linux para gestionar remotamente las ACL en un recurso compartido alojado en Windows
3.10.1. Entradas de control de acceso
Cada entrada ACL de un objeto del sistema de archivos contiene entradas de control de acceso (ACE) con el siguiente formato:
security_principal:access_right/inheritance_information/permissions
Ejemplo 3.3. Entradas de control de acceso
Si el grupo AD\Domain Users
tiene permisos de Modify
que se aplican a This folder, subfolders, and files
en Windows, la ACL contiene la siguiente ACE:
AD\N-Domain Users:ALLOWED/OI|CI/CHANGE
Una ACE contiene las siguientes partes:
- Seguridad principal
- El principal de seguridad es el usuario, grupo o SID al que se aplican los permisos en la ACL.
- Derecho de acceso
-
Define si se concede o se deniega el acceso a un objeto. El valor puede ser
ALLOWED
oDENIED
. - Información sobre la herencia
Existen los siguientes valores:
Tabla 3.1. Configuración de la herencia Valor Descripción Mapas a OI
Heredar objeto
Esta carpeta y archivos
CI
Heredar el contenedor
Esta carpeta y sus subcarpetas
IO
Sólo heredar
La ACE no se aplica al archivo o directorio actual
ID
Heredado
La ACE fue heredada del directorio principal
Además, los valores pueden combinarse de la siguiente manera:
Tabla 3.2. Combinaciones de ajustes de la herencia Combinaciones de valores Corresponde a la configuración de Windows Applies to
OI|CI
Esta carpeta, subcarpetas y archivos
OI|CI|IO
Sólo subcarpetas y archivos
CI|IO
Sólo subcarpetas
OI|IO
Sólo archivos
- Permisos
Este valor puede ser un valor hexadecimal que representa uno o más permisos de Windows o un alias de
smbcacls
:Un valor hexadecimal que representa uno o más permisos de Windows.
La siguiente tabla muestra los permisos avanzados de Windows y su correspondiente valor en formato hexadecimal:
Tabla 3.3. Permisos de Windows y su correspondiente valor smbcacls en formato hexadecimal Permisos de Windows Valores hexadecimales Control total
0x001F01FF
Recorrer la carpeta / ejecutar el archivo
0x00100020
Listar carpeta / leer datos
0x00100001
Leer atributos
0x00100080
Leer atributos extendidos
0x00100008
Crear archivos / escribir datos
0x00100002
Crear carpetas / añadir datos
0x00100004
Escribir atributos
0x00100100
Escribir atributos extendidos
0x00100010
Eliminar subcarpetas y archivos
0x00100040
Borrar
0x00110000
Leer permisos
0x00120000
Cambiar los permisos
0x00140000
Asumir la responsabilidad
0x00180000
Se pueden combinar varios permisos como un único valor hexadecimal utilizando la operación bit a bit
OR
. Para más detalles, véase Sección 3.10.3, “Cálculo de la máscara ACE”.Un alias de
smbcacls
. La siguiente tabla muestra los alias disponibles:Tabla 3.4. Alias smbcacls existentes y su correspondiente permiso de Windows smbcacls
aliasMapas para el permiso de Windows R
Leer
READ
Leer & ejecutar
W
Especial:
- Crear archivos / escribir datos
- Crear carpetas / añadir datos
- Escribir atributos
- Escribir atributos extendidos
- Leer permisos
D
Borrar
P
Cambiar los permisos
O
Asumir la responsabilidad
X
Atravesar/ejecutar
CHANGE
Modificar
FULL
Control total
NotaPuede combinar alias de una sola letra cuando establezca los permisos. Por ejemplo, puede establecer
RD
para aplicar el permiso de WindowsRead
yDelete
. Sin embargo, no puede combinar varios alias que no sean de una sola letra ni combinar alias y valores hexadecimales.