web-dev-qa-db-fra.com

Comment remplacer les autorisations et tout ce qu'il y a à l'intérieur avec icacls sur Windows Server 2012?

Utilisation de Windows Server 2012 R2 ET Windows Server 2008 R2.

J'ai un dossier appelé C:\temp\test et je veux accorder l'accès à SYSTEM et à un utilisateur et à tous les fichiers et sous-répertoires, et supprimer tout le reste. J'ai essayé cette commande mais toutes les autorisations existantes restent:

Les autorisations existantes sont:

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

Je souhaite supprimer toutes les ACL sauf SYSTEM et ajouter <DOMAIN>\<USER>

J'ai essayé cette commande:

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

Lorsque je regarde les autorisations par la suite, le <DOMAIN>\<USER> a les autorisations correctes mais toutes les autres restent. J'ai pensé /grant:r a remplacé toutes les autorisations? Savez-vous quelle commande je dois exécuter pour supprimer toutes les autres autorisations?

16
Mark Allison

Comme mentionné dans les commentaires, vous devez également utiliser le commutateur /inheritance:r Pour supprimer les autorisations héritées.

/grant:r Supprime uniquement les autorisations explicites.

icacls c:\temp\test /inheritance:r /grant:r <DOMAIN>\<USER>:(OI)(CI)F /T

Pour accorder également SYSTEM:

icacls c:\temp\test /inheritance:r /grant:r <DOMAIN>\<USER>:(OI)(CI)F /grant:r SYSTEM:(OI)(CI)F /T
16
krisFR

Le paramètre /grant:r n'a pas fonctionné pour moi. Je devais utiliser /reset pour rétablir les autorisations en héritage uniquement, puis supprimer les autorisations héritées. N'oubliez pas de changer les sous-répertoires avec /t drapeau.

8
Jan Zahradník