Comment définir ou réinitialiser les autorisations NTFS d’un fichier ou d’un dossier avec la commande icacls

icalcs

Dans cet article, nous allons apprendre à définir ou à réinitialiser les autorisations NTFS d’un fichier ou d’un dossier dans un système d’exploitation Windows, avec la commande icacls.

Il peut arriver que, dans certains cas, nous perdions de vue les autorisations de fichiers ou de répertoires, et lorsque nous essayons d’accéder à un fichier spécifique, nous n’avons aucun résultat car nous n’avons pas les droits de le faire.
Ou nous devrons peut-être exécuter un logiciel qui, pour un problème d’autorisation, ne fonctionne pas comme il se doit.

Nous pouvons également avoir besoin d’accéder à un fichier provenant d’une ancienne sauvegarde ou d’un autre ordinateur et donc créé avec un utilisateur différent; même dans ce cas, il ne sera pas possible d’y accéder.

Dans tous ces cas, la commande Icacls vient vous aider.

Qu’est-ce que l’Icacls?

Icacls remplace cacls (Modifier les listes de contrôle d’accès), un utilitaire de ligne de commande qui vous permet d’afficher et d’effectuer certaines opérations sur ACL pour les fichiers ou les répertoires.

ACL (Liste de contrôle d’accès) est une liste d’autorisations pour un objet de système de fichiers et définit comment sa sécurité est contrôlée en gérant qui et comment il est accessible.

En fait, les opérations sur ACL ne sont pas les seules possibles avec cet outil.
Ce qui en fait un outil puissant est également la possibilité d’effectuer des opérations de sauvegarde et de restauration sur ACL pour des fichiers ou des répertoires, ou de rechercher des fichiers ayant un utilisateur spécifique comme propriétaire.
Et en outre, dans le cas où un ACL est endommagé ou détruit, avec icacls, vous pouvez le restaurer en le réinitialisant et en définissant des autorisations par défaut ou en héritant de celles du parent.

Icacls: les fonctions de réinitialisation et d’octroi

Reset

Icacls est une commande Windows native qui s’exécute sur Windows Vista, Windows 7, Windows 8 et Windows 10.
Imaginez que nous ayons un disque dur externe sur lequel une étude réalisée en 2018 a été stockée, et que nous voulons le récupérer, mais nous n’avons pas le contrôle total.

Dès que nous tenterons d’ouvrir le dossier, nous aurons le message d’alerte suivant.

 openfolder deny

Une solution consiste donc à utiliser la fonction de réinitialisation des Icacls.
Mais faites attention aux étapes suivantes.

Ouvrons le terminal de commande en mode administrateur.

 invite de commande

Passons au dossier et tapez la commande de réinitialisation comme suit:

 $> icacls * /t /q /c /reset

Et encore une fois, nous aurons « L’accès est refusé » en réponse.

 reset and noaccess

Il faut donc d’abord devenir propriétaire du dossier avec la commande takeown:

$> takeown / R / F *

 autorisation de retrait

En cliquant sur Oui, vous aurez maintenant une réinitialisation de l’ACL et l’état d’autorisation sera le suivant:

advanced security settings

Grant

Maintenant, imaginez être dans la situation suivante:

 autres paramètres de sécurité avancés

Seul l’utilisateur nommé Peter a accès au dossier, et nous voulons également accorder des subventions à l’utilisateur federica.

Avec la commande précédente, nous pouvons devenir propriétaire du dossier

$> takeown / R / F *

puis taper la commande suivante:

$> icacls "E:\Study2018" /t /grant:F

Dans ce cas, j’ai inséré les options / t, qui signifie récursif, et F qui signifie « accès complet » pour l’utilisateur sur lequel nous voulons donner des subventions.

 accordez un accès complet

Pour plus d’options, consultez la page officielle.

Autres fonctions icacl

Si vous devez enregistrer des ACL dans un fichier pour une restauration ultérieure, vous pouvez le faire en utilisant quelques commandes « enregistrer et restaurer ».
Une opération très simple d’un point de vue: les informations sur les ACL sont enregistrées dans un fichier qui peut être utilisé en cas de besoin de restaurer une situation antérieure.
Cependant, il convient de noter que les données sur les droits d’accès, en particulier dans les dossiers partagés, peuvent être très variables dans le temps.
Nous pourrions alors nous retrouver dans une situation où nous allons rétablir une situation différente de la réalité, voire incohérente.
De plus, le fichier créé, ouvrable et lisible avec un éditeur de texte commun, semble être un texte Unicode.
Mais attention, car ce n’est pas le cas.

Ouvrir le fichier et l’enregistrer avec quelques modifications le rendra inutilisable dans les opérations de restauration.

Le couple de commandes « enregistrer et restaurer » est le suivant:

icacls FILE_O_DIRECTORY /save aclfile /t

icacls DIRECTORY / restaurer aclfile

Vous remarquerez immédiatement une différence entre les deux commandes.

La commande save peut être exécutée à la fois sur un fichier et sur des répertoires (FILE_O_O_DIRECTORY doit être remplacé par le nom du fichier ou du répertoire pour lequel nous voulons enregistrer l’ACL).

Alors que la commande restore ne fonctionne que sur les répertoires.

Un exemple d’utilisation est le suivant:

E:\> icacls filediprova.txt /save aclfile /t
E:\>icacls . /restore aclfile

Comme vous pouvez le voir, dans le cas de la commande restore, nous n’utiliserons pas filediprova.txt mais le répertoire dans lequel il est contenu.

Conclusions

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.