Usando Windows Server 2012 R2 Y Windows Server 2008 R2.
Tengo una carpeta llamada C:\temp\testy quiero otorgar acceso a SYSTEMun 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 SYSTEMy 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:rreemplazó todos los permisos? ¿Sabes qué comando necesito ejecutar para eliminar todos los demás permisos?
windows-server-2008-r2
windows
windows-server-2012-r2
icacls
Mark Allison
fuente
fuente

cacls c:\temp\test /t /g <DOMAIN>\<USER>:Fpero he oído que icacls lo ha reemplazado, ¿alguien puede mostrarme la versión icacls equivalente para producir el mismo comportamiento?/grant:rsolo elimina los permisos explícitos existentes, no los heredados de la carpeta anterior. Necesitarías incluir/inheritance:rtambién.NOTE: Cacls is now deprecated, please use Icacls.cacls.exepuede configurar las ACL en el orden incorrecto, lo que puede causar problemas (lo dejaré como un ejercicio para el lector).Respuestas:
Como se menciona en los comentarios, también debe usar el
/inheritance:rinterruptor para eliminar los permisos heredados./grant:rsolo elimina permisos explícitos.Para otorgar también
SYSTEM:fuente
El parámetro
/grant:rno funcionó para mí. Tuve que usar/resetpara revertir los permisos a herencia solamente y luego eliminar los permisos heredados. No olvides cambiar los subdirectorios con/tbandera.fuente