Flux RSS - La vie du site - Nouveautés et mises à jour
Assiste.com - Sécurité informatique - Vie privée sur le Web - Neutralité d'Internet Assiste.com - Sécurité informatique - Vie privée sur le Web - Neutralité d'Internet

icacls : Contrôle d'accès pour les fichiers et les répertoires

Commande Windows icacls : Afficher, modifier, sauvegarder ou restaurer les listes de contrôle d'accès pour les fichiers et les répertoires.

04.03.2023 : Pierre Pinard.

Commande Windows icacls : Afficher, modifier, sauvegarder ou restaurer les listes de contrôle d'accès pour les fichiers et les répertoires.

Commande Windows ICACLS :

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.

icacls remplace la commande cacls désormais déconseillée.

Commande Windows ICACLSObjectif de la commande Windows ICACLS

icacls signifie « Integrity Control Access Control List » (en français « Liste de contrôle d'accès de contrôle d'intégrité »). Windows Server 2003 Service Pack 2 et versions ultérieures incluent icacls, un utilitaire de ligne de commande intégré qui peut afficher, modifier, sauvegarder et restaurer les ACL (« Access Control List » — en français « Liste de contrôle d'accès ») des fichiers et des dossiers, ainsi que définir les niveaux d'intégrité et de propriété depuis la version Vista de Windows et ses versions ultérieures. Cependant icacls n'est pas un remplacement complet de cacls. Par exemple, icacls ne prend pas en charge la syntaxe SDDL (Security Descriptor Definition Language) directement, via les paramètres de ligne de commande (uniquement avec l'option /restore).

Syntaxe de la commande Windows ICACLSSyntaxe de la commande Windows ICACLS

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]]

Mode d'emploi de la commande Windows (Commutateurs - Paramètres - Switchs)ICACLSMode d'emploi de la commande Windows ICACLS (Commutateurs - Paramètres - Switchs)

Paramètre

Description

<filename>

Spécifie le fichier pour lequel afficher les DACL.

<directory>

Spécifie le répertoire pour lequel afficher les DACL.

/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 en dépit des erreurs de fichier. Les messages d’erreur s’affichent toujours.

/l

Exécute l’opération sur un lien symbolique au lieu de sa destination.

/q

Supprime les messages de réussite.

[/Save <ACLfile> commutateur commutateur /l [/q]]

Stocke des DACL pour tous les fichiers correspondants dans ACLfile pour une utilisation ultérieure avec /Restore.

[/SetOwner <username> commutateur commutateur /l [/q]]

Modifie le propriétaire de tous les fichiers correspondants à l’utilisateur spécifié.

[/findsid <sid> commutateur commutateur /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 dont les listes de contrôle d’accès ne sont pas canoniques ou qui ont des longueurs incohérentes avec les nombres d’entrées de contrôle d’accès.

[/RESET [/t] [/c] [/l] [/q]]

Remplace les ACL par des ACL héritées par défaut pour tous les fichiers correspondants.

[/Grant [ : r] <sid> : [...]]

Accorde les droits d’accès utilisateur spécifiés. Les autorisations remplacent les autorisations explicites précédemment accordées.

Ne pas ajouter le : rsignifie que les autorisations sont ajoutées à toutes les autorisations explicites accordées précédemment.

[/Deny <sid> : [...]]

Refuse explicitement les droits d’accès utilisateur spécifiés. Une entrée de contrôle d’accès Deny explicite est ajoutée pour les autorisations indiquées et les mêmes autorisations dans toute attribution explicite sont supprimées.

[/Remove [:g | :d]]<sid> [...] commutateur commutateur /l /q

Supprime toutes les occurrences du SID spécifié de la liste DACL. Cette commande peut également utiliser :

  • : g -supprime toutes les occurrences des droits accordés au SID spécifié.

  • :d -supprime toutes les occurrences des droits refusés au SID spécifié.

[/setintegritylevel [(CI) (OI)] <Level>:<Policy> [...]]

Ajoute explicitement une entrée du contrôle d’intégrité à tous les fichiers correspondants. Le niveau peut être spécifié comme suit :

  • l -bas

  • m-moyen

  • h -élevé

Les options d’héritage pour l’ACE d’intégrité peuvent précéder le niveau et s’appliquent uniquement aux répertoires.

[/Substitute <sidold> <sidnew> [...]]

Remplace un SID existant (sidold) par un nouveau sid (sidnew). Requiert l’utilisation de avec le <directory> paramètre.

/Restore <ACLfile> [/c] [/l] [/q]

Applique les listes DACL stockées à partir de <ACLfile> à des fichiers dans le répertoire spécifié. Requiert l’utilisation de 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 ACE

  • r -supprime toutes les ACE héritées


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

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

    • Refus explicites

    • Autorisations explicites

    • Refus hérité

    • Autorisations héritées

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

    • Une séquence de droits simples :

      • F -accès complet

      • M-modifier l’accès

      • RX -lecture et exécution d’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 :

      • D -supprimer

      • RC -contrôle de lecture

      • WDac -écriture DAC

      • Propriétaire de l’écriture WO

      • S -synchroniser

      • Sécurité du système d’accès en tant que

      • Ma -maximum autorisé

      • GR -lecture générique

      • GW -écriture générique

      • GE -exécution générique

      • GA -générique tout

      • Bureau à distance -lire le répertoire de données/liste

      • 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 l’une ou l’autre des <perm> formes, et elles s’appliquent uniquement aux répertoires :

      • (OI) -l’objet hérite

      • (Ci) -conteneur Inherit

      • (E/s) -hériter uniquement

      • (NP) -ne pas propager l’héritage

Exemple(s) d'utilisation(s) de la commande Windows ICACLSExemple(s) d'utilisation(s) de la commande Windows ICACLS

Pour enregistrer les listes DACL pour 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 listes 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’utilisateur User1 les autorisations de suppression et d’écriture DAC dans un fichier nommé Test1, tapez :

icacls test1 /grant User1:(d,wdac)

Pour accorder à l’utilisateur les autorisations S-1-1-0 supprimer et écrire DAC dans un fichier nommé test2, tapez :

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




L'« Invite de commande » et « PowerShell » sont des fonctionnalités incluses dans Windows. Elles offrent un point d'entrée pour la saisie de commandes de type MS-DOS (Microsoft Disk Operating System) et d'autres commandes, ce qui permet d'effectuer des tâches sur l'appareil sans utiliser l'interface graphique Windows.

Selon ce que vous aurez à faire dans l'Invite de commandes (ou PowerShell) :

L'Invite de commande ou PowerShell démarrent dans le répertoire courant. Il faut éventuellement changer de répertoire, avec la commande CD - Change Directory ou CHDir - Change Directory pour atteindre celui recherché.

[1Notations utilisées dans la syntaxe de toutes les commande Windows

# # # # # # # # # # # # # # # # # # # # # # # # # # # #
  1.  [1] Le tableau suivant décrit les notations utilisées dans la syntaxe de toutes les commande Windows.

    Notation

    Signification

    /?

    Utilisé après le nom de la commande, séparé par un espace, affiche l'aide (le mode d'emploi) de la commande (syntaxe et signification des divers commutateurs [switchs]).

    Texte sans parenthèses ni accolades

    Articles que vous devez taper comme indiqué

    <Texte entre chevrons>

    Espace réservé pour lequel vous devez fournir une valeur

    [Texte entre crochets]

    Éléments facultatifs

    {Texte à l'intérieur d'accolades}

    Ensemble d'éléments requis; choisissez-en un

    Barre verticale (|)

    Séparateur pour les articles mutuellement exclusifs; choisissez-en un

    Ellipse (…)

    Articles pouvant être répétés

icacls - Références