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éprécié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 les DACL.
<directory> Spécifie le répertoire pour lequel afficher ou modifier les DACL.
/t Effectue l’opération sur tous les fichiers spécifiés dans le répertoire actif et ses sous-répertoires.
/C Continue l’opération malgré les éventuelles erreurs de fichier. Les messages d’erreur seront toujours affichés.
/l Effectue l’opération sur un lien symbolique au lieu de sa destination.
/q Supprime les messages de réussite des opérations.
[/save < ACLfile> [/t] [/c] [/l] [/q]] Stocke les DACL 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 sur l’utilisateur spécifié.
[/findsid <sid> [/t] [/c] [/l] [/q]] Recherche tous les fichiers correspondants qui contiennent une 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 dont les longueurs sont incompatibles 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 défaut héritées pour tous les fichiers correspondants.
[/grant[:r] <sid>:<perm>[...]] Octroie les droits d’accès utilisateur spécifiés. Les autorisations remplacent les autorisations explicites précédemment accordées.

Ne pas ajouter :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. Une ACE de refus explicite est ajoutée pour les autorisations indiquées et les mêmes autorisations dans n’importe quel octroi explicite sont supprimées.
[/remove[:g | :d]] <sid>[...] [/t] [/c] [/l] [/q] Supprime toutes les occurrences du SID spécifié de la 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 une ACE d’intégrité à tous les fichiers correspondants. Le niveau peut être spécifié comme suit :
  • l - Basse
  • m- Moyenne
  • h - Élevée
Les options d’héritage de l’ACE d’intégrité peuvent précéder le niveau et ne sont appliquées qu’aux répertoires.
[/substitute <sidold><sidnew> [...]] Remplace un SID existant (sidold) par un nouveau SID (sidnew). Nécessite une utilisation avec le paramètre <directory>.
/restore <ACLfile> [/c] [/l] [/q] Applique les DACL stockées de <ACLfile> aux fichiers dans le répertoire spécifié. Nécessite une utilisation avec le paramètre <directory>.
/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 ACE
  • r - Désactive l’héritage et supprime uniquement les ACE héritées

Notes

  • Les SID peuvent être sous forme numérique ou sous forme de nom convivial. Si vous utilisez une forme numérique, apposez 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- Accès en modification

      • RX - Accès en lecture et exécution

      • 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 - DAC d’écriture (autorisations de modification)

      • 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

      • GA - Tout générique

      • RD - Lire des données/Répertorier les répertoires

      • 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 - Attributs de lecture

      • WA - Attributs d’écriture

    • Les droits d’héritage peuvent précéder les deux formes <perm> :

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

      • (OI) - Héritage par les objets. Les objets de ce conteneur hériteront de cette ACE. S’applique uniquement aux répertoires.

      • (CI) - Héritage par les conteneurs. Les conteneurs de ce conteneur parent héritent de cette ACE. S’applique uniquement aux répertoires.

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

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

Exemples

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

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

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

icacls c:\windows\ /restore aclfile

Pour accorder à l’utilisateur user1 les autorisations DAC Supprimer et Écrire sur un fichier nommé Test1, tapez :

icacls test1 /grant User1:(d,wdac)

Pour accorder à l’utilisateur défini par le SID S-1-1-0 des autorisations DAC Supprimer et Écrire sur un fichier nommé Test2, tapez :

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