Usando Windows Server 2012 R2 Y Windows Server 2008 R2.
Tengo una carpeta llamada C:\temp\test
y quiero otorgar acceso a SYSTEM
un usuario y a todos los archivos y subdirectorios, y eliminar todo lo demás. He probado este comando pero todos los permisos existentes permanecen:
Los permisos existentes son:
Access : NT AUTHORITY\SYSTEM Allow FullControl
BUILTIN\Administrators Allow FullControl
BUILTIN\Users Allow ReadAndExecute, Synchronize
BUILTIN\Users Allow AppendData
BUILTIN\Users Allow CreateFiles
CREATOR OWNER Allow 268435456
Quiero eliminar todas las ACL excepto SYSTEM
y agregar<DOMAIN>\<USER>
Intenté este comando:
icacls c:\temp\test /grant:r <DOMAIN>\<USER>:(OI)(CI)F /t
processed file: c:\temp\test
Successfully processed 1 files; Failed processing 0 files
Cuando miro los permisos después, <DOMAIN>\<USER>
tiene los permisos correctos pero todos los demás permanecen. Pensé que /grant:r
reemplazó todos los permisos? ¿Sabes qué comando necesito ejecutar para eliminar todos los demás permisos?
/grant:r
solo elimina los permisos explícitos existentes, no los heredados de la carpeta anterior. Necesitarías incluir /inheritance:r
también.
NOTE: Cacls is now deprecated, please use Icacls.
cacls.exe
puede configurar las ACL en el orden incorrecto, lo que puede causar problemas (lo dejaré como un ejercicio para el lector).
cacls c:\temp\test /t /g <DOMAIN>\<USER>:F
pero he oído que icacls lo ha reemplazado, ¿alguien puede mostrarme la versión icacls equivalente para producir el mismo comportamiento?