303.2 Comandos Clave - Seguridad de Compartición

Comandos de gestión de ACLs

Comando / HerramientaDescripción
smbcacls //srv/share archivo -U userVer ACLs NT de un archivo
smbcacls ... -a "ACL:..."Añadir una ACL NT
smbcacls ... -M "ACL:..."Modificar una ACL NT existente
smbcacls ... -D "ACL:..."Eliminar una ACL NT
smbcacls ... -S "..."Establecer descriptor de seguridad completo
smbcacls ... --set-owner=userCambiar propietario NT
setfacl -m u:user:rwx rutaEstablecer ACL POSIX
setfacl -d -m g:grupo:rx rutaACL POSIX por defecto
setfacl -R -m g:grupo:rx rutaACL POSIX recursiva
setfacl -b rutaEliminar todas las ACLs POSIX
getfacl rutaVer ACLs POSIX de un archivo/directorio

Formato de ACL NT para smbcacls

ACL:DOMINIO\usuario:TIPO/FLAGS/PERMISOS
CampoValores posibles
TIPOALLOWED, DENIED
FLAGS0x0 (sin herencia), 0x03 (herencia completa)
PERMISOSFULL, CHANGE, READ, WRITE, máscara hex

Parámetros de seguridad en smb.conf

ParámetroValor por defectoDescripción
nt acl supportyesHabilitar soporte de ACLs NT
inherit permissionsnoHeredar permisos POSIX del directorio padre
inherit aclsnoHeredar ACLs por defecto del padre
map acl inheritnoMapear herencia NT a ACLs POSIX por defecto
acl group controlnoGrupo propietario puede gestionar ACLs
access based share enumnoSolo mostrar shares accesibles al usuario
hosts allow(vacío = todos)IPs/redes permitidas
hosts deny(vacío)IPs/redes denegadas
store dos attributesnoAlmacenar atributos DOS en xattrs
vfs objects = acl_xattr(no activado)Almacenar ACLs NT en atributos extendidos

Comandos de diagnóstico

# Verificar permisos del sistema de archivos
ls -la /srv/samba/datos/
getfacl /srv/samba/datos/
 
# Verificar ACLs NT en un share
smbcacls //servidor/share archivo.txt -U admin
 
# Probar acceso como usuario específico
smbclient //servidor/share -U usuario -c "ls; put testfile"
 
# Verificar configuración de Samba
testparm -s
 
# Log detallado de permisos
# En smb.conf: log level = 3 auth:10 acls:10