Puede utilizar el incorporado iCACLS herramienta para administrar permisos NTFS en Windows. La icacls.exe La herramienta de línea de comandos le permite obtener o cambiar listas de control de acceso (ACL) para archivos y carpetas en el sistema de archivos NTFS. En este artículo, veremos comandos útiles para administrar permisos NTFS en Windows con iCACLS.
Uso de iCACLS para ver y establecer permisos de archivos y carpetas
Los permisos de acceso actuales a cualquier objeto en un volumen NTFS se pueden mostrar de la siguiente manera:
icacls 'C:ShareVeteran'
El comando devolverá una lista de usuarios y grupos a los que se les han asignado permisos de acceso. Los permisos se especifican mediante abreviaturas:
- F – Acceso completo
- METRO – modificar el acceso
- RX – leer y ejecutar el acceso
- R – acceso de solo lectura
- W –Acceso de solo escritura
- D – Eliminar
Los derechos de herencia se especifican antes que los permisos de acceso (los permisos de herencia se aplican solo a las carpetas):
- (OI) – objeto heredado
- (CI) – contenedor heredado
- (IO) – heredar solo
- (I) – heredar permisos del contenedor principal
Con icacls puede cambiar los permisos de las carpetas.
Para otorgar el “recurso mun-fs01_Auditors«Grupo de permisos de lectura y ejecución (RX) en la carpeta:
icacls 'C:ShareVeteran' /grant resourcemun-fs01_Auditors:RX
Para eliminar un grupo de un directorio ACL:
icacls 'C:ShareVeteran' /remove resourcemun-fs01_Auditors
Con icacls puede habilitar la herencia de permisos NTFS desde la carpeta principal:
icacls 'C:ShareVeteran' /inheritance:e

O deshabilite la herencia eliminando todas las ACE heredadas:
icacls 'C:ShareVeteran' /inheritance:r
Puede utilizar icacls.exe para cambiar la propiedad de un archivo o carpeta
icacls 'C:ShareVeteran' /setowner resourcej.smith /T /C /L /Q
![]()
¿Cómo hacer una copia de seguridad (exportar) de los permisos NTFS de carpetas?
Antes de realizar cambios significativos en los permisos (mover, actualizar ACL, migrar recursos) en una carpeta NTFS (o carpeta de red compartida), es recomendable hacer una copia de seguridad de los permisos anteriores. Esta copia le permitirá volver a la configuración original, o al menos aclarar los permisos anteriores para un archivo / directorio específico.
Puede utilizar la herramienta icacls.exe para exportar / importar los permisos actuales del directorio NTFS. Para obtener todas las ACL para una carpeta específica (incluidos subdirectorios y archivos) y exportarlos a un archivo de texto, ejecute el siguiente comando:
icacls g:veteran /save c:backupveteran_ntfs_perms.txt /t /c
Nota. / t La clave se usa para obtener ACL para todos los subdirectorios y archivos, /C permite ignorar los errores de acceso. Añadiendo / q , puede deshabilitar la visualización de información sobre el acceso exitoso a los objetos del sistema de archivos.

Dependiendo de la cantidad de archivos y carpetas, la exportación de permisos puede llevar bastante tiempo. Después de que se haya ejecutado el comando, se mostrarán las estadísticas sobre la cantidad de procesamiento exitoso o fallido de archivos.
Successfully processed 3001 files; Failed processing 0 files
Abre el archivo veteran_ntfs_perms.txt usando cualquier editor de texto. Como puede ver, contiene la lista completa de archivos y carpetas en un directorio, y cada elemento tiene los permisos actuales especificados en SDDL (Lenguaje de definición de descriptores de seguridad).

Por ejemplo, los permisos NTFS actuales para la raíz de la carpeta son los siguientes:
D:PAI(A;OICI;FA;;;BA)(A;OICIIO;FA;;;CO)(A;OICI;0x1200a9;;;S-1-5-21-2340243621-32346796122-2349433313-23777994)(A;OICI;0x1301bf;;;S-1-5-21-2340243621-32346796122-2349433313-23777993)(A;OICI;FA;;;SY)(A;OICI;FA;;;S-1-5-21-2340243621-32346796122-2349433313-24109193)S:AI
Esta cadena describe el acceso para algunos grupos o usuarios. No consideraremos la sintaxis SDDL en detalle (el formato SDDL se analizó brevemente en el artículo «¿Cómo ver y modificar los permisos de servicio en Windows?»). Centrémonos en una pequeña parte de SDDL seleccionando solo un objeto:
(A;OICI;FA;;;S-1-5-21-2340243621-32346796122-2349433313-24109193)
A – tipo de acceso (Permitir)
OICI – bandera de herencia (OBJETO HERENCIA + HERENCIA DEL CONTENEDOR)
FA – tipo de permiso (SDDL_FILE_ALL – todo permitido)
S-1-5-21-2340243621-32346796122-2349433313-24109193 – SID de la cuenta o grupo de dominio para el que se establecen los permisos. Para convertir SID al nombre de cuenta o grupo, use el siguiente comando de PowerShell:
$objSID = New-Object System.Security.Principal.SecurityIdentifier ("S-1-5-21-2340243621-32346796122-2349433313-24109193")
$objUser = $objSID.Translate( [System.Security.Principal.NTAccount])
$objUser.Value

O use uno de los comandos:Get-ADUser -Identity SID
oGet-ADGroup -Identity SID
Por lo tanto, ha descubierto que el usuario corp dvivar tenía permisos de Control total en este directorio.
¿Cómo restaurar los permisos NTFS con iCacls?
Puede restaurar los permisos NTFS en una carpeta utilizando el archivo veteran_ntfs_perms.txt creado anteriormente. Para establecer permisos NTFS en objetos en el directorio de acuerdo con los valores en el archivo de respaldo de ACL, ejecute este comando:
icacls g: /restore c:backupveteran_ntfs_perms.txt /t /c
Nota. Tenga en cuenta que al importar permisos desde el archivo, debe especificar la ruta al directorio principal en lugar del nombre de la carpeta.
Una vez que se hayan recuperado todos los permisos, también se mostrarán las estadísticas sobre el número de archivos procesados.
![]()
Tenga en cuenta que el archivo ACL de respaldo contiene rutas de archivo relativas, no absolutas. Esto significa que puede restaurar los permisos en una carpeta incluso después de moverla a una unidad / directorio diferente.
Restablecimiento de los permisos NTFS a los valores predeterminados
Puede utilizar la herramienta icacls para restablecer los permisos de la carpeta (así como los archivos y subdirectorios anidados).
icacls C:shareveteran /reset /T /Q /C
![]()
Este comando habilitará los permisos NTFS heredados para el objeto especificado y eliminará cualquier otra ACL.
Copia de permisos NTFS de una carpeta a otra
Puede utilizar un archivo de texto con copia de seguridad de ACL para copiar permisos NTFS de un directorio a otro.
Primero, haga una copia de seguridad de los permisos NTFS de la carpeta de origen:
icacls 'C:ShareVeteran' /save C:PSsave_ntfs_perms.txt /c
Y luego aplique las ACL guardadas a la carpeta de destino:
icacls D:Share /restore C:PSsave_ntfs_perms.txt /c
Esto funcionará si las carpetas de origen y destino tienen el mismo nombre. ¿Qué pasa si el nombre de la carpeta de destino es diferente? Por ejemplo, debe copiar los permisos NTFS a la carpeta D: PublicDOCS.
La forma más sencilla es abrir el save_ntfs_perms.txt archivo en el bloc de notas y edite el nombre de la carpeta. Utilice la función Reemplazar para reemplazar el Veterano nombre con PublicDOCS.

Luego importe los permisos NTFS del archivo y aplíquelos a la carpeta de destino:
icacls D: /restore C:PSsave_ntfs_perms.txt /c
Get-Acl -Path 'C:ShareVeteran' | Set-Acl -Path 'E:PublicDOCS'





