icacls

Affiche ou modifie les listes de contrôle d’accès discrétionnaire (DACL) sur les fichiers spécifiés et applique les DACL stockées aux fichiers des répertoires spécifiés.

Notes

Cette commande remplace la commande cacls déconseillée.

Syntaxe

icacls <filename> [/grant[:r] <sid>:<perm>[...]] [/deny <sid>:<perm>[...]] [/remove[:g|:d]] <sid>[...]] [/t] [/c] [/l] [/q] [/setintegritylevel <Level>:<policy>[...]]
icacls <directory> [/substitute <sidold> <sidnew> [...]] [/restore <aclfile> [/c] [/l] [/q]]

Paramètres

Paramètre Description
<filename> Spécifie le fichier pour lequel afficher ou modifier des DLL.
<Répertoire> Spécifie le répertoire pour lequel afficher ou modifier des DLL.
/t Exécute l’opération sur tous les fichiers spécifiés dans le répertoire actif et ses sous-répertoires.
/C Poursuit l’opération malgré les erreurs de fichier. Les messages d’erreur sont toujours affichés.
/l Exécute l’opération sur un lien symbolique au lieu de sa destination.
/q Supprime les messages de réussite.
[/save < ACLfile> [/t] [/c] [/l] [/q]] Stocke les DLL pour tous les fichiers correspondants dans un fichier de liste de contrôle d’accès (ACL) pour une utilisation ultérieure avec /restore.
[/setowner <username> [/t] [/c] [/l] [/q]] Modifie le propriétaire de tous les fichiers correspondants à l’utilisateur spécifié.
[/findsid <sid> [/t] [/c] [/l] [/q]] Recherche tous les fichiers correspondants qui contiennent une liste daCL mentionnant explicitement l’identificateur de sécurité (SID) spécifié.
[/verify [/t] [/c] [/l] [/q]] Recherche tous les fichiers avec des listes de contrôle d’accès qui ne sont pas canoniques ou qui ont des longueurs incohérentes avec le nombre d’entrées de contrôle d’accès (ACE).
[/reset [/t] [/c] [/l] [/q]] Remplace les listes de contrôle d’accès par des listes de contrôle d’accès héritées par défaut pour tous les fichiers correspondants.
[/grant[:r] <sid>:<perm>[...]] Octroie des droits d’accès utilisateur spécifiés. Les autorisations remplacent les autorisations explicites précédemment accordées.

L’ajout du :r signifie que les autorisations sont ajoutées à toutes les autorisations explicites précédemment accordées.

[/deny <sid>:<perm>[...]] Refuse explicitement les droits d’accès utilisateur spécifiés. Un ace de refus explicite est ajouté pour les autorisations indiquées et les mêmes autorisations dans n’importe quelle octroi explicite sont supprimées.
[/remove[:g | :d]] <sid>[...] [/t] [/c] [/l] [/q] Supprime toutes les occurrences du SID spécifié du DACL. Cette commande peut également utiliser :
  • :g - Supprime toutes les occurrences des droits accordés au SID spécifié.
  • :d : supprime toutes les occurrences de droits refusés au SID spécifié.
[/setintegritylevel [(CI)(OI)] < Level>:<Policy>[...]] Ajoute explicitement un ACE d’intégrité à tous les fichiers correspondants. Le niveau peut être spécifié comme suit :
  • l - Faible
  • m- Moyen
  • h - Élevé
Les options d’héritage pour l’ace d’intégrité peuvent précéder le niveau et sont appliquées uniquement aux répertoires.
[/substitut <sidoldsidnew>>< [...]] Remplace un SID existant (sidold) par un nouveau SID (sidnew). Nécessite l’utilisation avec le <directory> paramètre.
/restore <ACLfile> [/c] [/l] [/q] Applique des dll DACL stockées à partir de <ACLfile> fichiers dans le répertoire spécifié. Nécessite l’utilisation avec le <directory> paramètre.
/inheritancelevel: [e | d | r] Définit le niveau d’héritage, qui peut être :
  • e - Active l’héritage
  • d - Désactive l’héritage et copie les ACL
  • r - Désactive l’héritage et supprime uniquement les AE héritées

Remarques

  • Les SID peuvent être sous forme de nom numérique ou convivial. Si vous utilisez une forme numérique, collez le caractère * générique au début du SID.

  • Cette commande conserve l’ordre canonique des entrées ACE comme suit :

    • Dénis explicites

    • Octrois explicites

    • Dénis hérités

    • Octrois hérités

  • L’option <perm> est un masque d’autorisation qui peut être spécifié dans l’une des formes suivantes :

    • Séquence de droits simples (autorisations de base) :

      • F - Accès complet

      • M - Modifier l’accès

      • RX - Lecture et exécution de l’accès

      • R - Accès en lecture seule

      • W - Accès en écriture seule

    • Liste séparée par des virgules entre parenthèses de droits spécifiques (autorisations avancées) :

      • D - Supprimer

      • RC - Contrôle de lecture (autorisations de lecture)

      • WDAC - Écrire une DAC (modifier les autorisations)

      • WO - Propriétaire d’écriture (prendre possession)

      • S - Synchroniser

      • AS - Sécurité du système d’accès

      • MA - Maximum autorisé

      • GR - Lecture générique

      • GW - Écriture générique

      • GE - Exécution générique

      • DISPONIBILITÉ GÉNÉRALE - Tous génériques

      • Rd - Lire le répertoire des données/listes

      • WD - Écrire des données/ajouter un fichier

      • AD - Ajouter des données/ajouter un sous-répertoire

      • REA - Lire les attributs étendus

      • WEA - Écrire des attributs étendus

      • X - Exécuter/parcourir

      • DC - Supprimer un enfant

      • RA - Lire les attributs

      • WA - Écrire des attributs

    • Les droits d’héritage peuvent précéder l’un ou l’autre <perm> des formulaires :

      • (I) - Hériter. ACE hérité du conteneur parent.

      • (OI) : l’objet hérite. Les objets de ce conteneur héritent de cet ACE. S’applique uniquement aux répertoires.

      • (CI) : le conteneur hérite. Les conteneurs de ce conteneur parent héritent de cet ACE. S’applique uniquement aux répertoires.

      • (E/S) - Hériter uniquement. ACE hérité du conteneur parent, mais ne s’applique pas à l’objet lui-même. S’applique uniquement aux répertoires.

      • (NP) : ne propagez pas l’héritage. ACE hérité par des conteneurs et des objets du conteneur parent, mais ne se propage pas aux conteneurs imbriqués. S’applique uniquement aux répertoires.

Exemples

Pour enregistrer les dll DACL pour tous les fichiers du répertoire C:\Windows et ses sous-répertoires dans le fichier ACLFile, tapez :

icacls c:\windows\* /save aclfile /t

Pour restaurer les dll DACL pour chaque fichier dans ACLFile qui existe dans le répertoire C:\Windows et ses sous-répertoires, tapez :

icacls c:\windows\ /restore aclfile

Pour accorder l’autorisation User1 Delete and Write DAC à un fichier nommé Test1, tapez :

icacls test1 /grant User1:(d,wdac)

Pour accorder à l’utilisateur défini par SID S-1-1-0 des autorisations De suppression et d’écriture de DAC dans un fichier, nommé Test2, tapez :

icacls test2 /grant *S-1-1-0:(d,wdac)

Références supplémentaires