icacls (win2k8) exemples de scripts
Après cacls, xcacls.vbs, nous avons maintenant icacls pour définir les permissions des fichiers et des dossiers.
Voici quelques exemples pratiques.
Créer un tas de répertoires
md d:\appsmd d:\profilesmd d:\users
Partager les répertoires. Notez la mise en cache hors ligne ; les utilisateurs sont autorisés à activer la mise en cache hors ligne pour leurs homedirs, les autres répertoires sont désactivés pour la mise en cache hors ligne.
net share apps=d:\apps /grant:everyone,FULL /CACHE:Nonenet share profiles=d:\profiles /grant:everyone,FULL /CACHE:Nonenet share users=d:\users /grant:everyone,FULL /CACHE:Manual
Maintenant, scriptons les permissions ntfs pour le partage d’apps:
– « (OI)(CI):F » signifie Contrôle total « Ce dossier, sous-dossiers et fichiers »
– « (OI)(CI) :M » signifie Modifier « Ce dossier, ces sous-dossiers et ces fichiers »
– « /inheritance:r » signifie supprimer toutes les ACL héritées du parent
(OI) Ce dossier et ces fichiers
(CI) Ce dossier et ces sous-dossiers.
(OI)(CI) Ce dossier, ces sous-dossiers et ces fichiers.
(OI)(CI)(IO) Sous-dossiers et fichiers uniquement.
(CI)(IO) Sous-dossiers uniquement.
(OI)(IO) Fichiers uniquement.
et les possibilités de permission
perm est un masque de permission et peut être spécifié sous l’une des deux formes suivantes :
une séquence de droits simples :
N – aucun accès
F – accès complet
M – accès de modification
RX – accès de lecture et d’exécution
R – accès de lecture seule
W – accès d’écriture seule
D – accès de suppression
une liste séparée par des virgules entre parenthèses de droits spécifiques :
DE – supprimer
RC – contrôle de lecture
WDAC – DAC d’écriture
WO – propriétaire d’écriture
S – synchroniser
AS – sécurité du système d’accès
MA – maximum autorisé
GR – lecture générique
GW -… generic write
GE – generic execute
GA – generic all
RD – read data/list directory
WD – write data/add file
AD – append data/add subdirectory
REA – read extended attributes
WEA – write extended attributes
X – execute/traverse
DC – delete child
RA – read attributes
WA – écrire les attributs
Voici la discription de toutes les permissions NTFS possibles
Permission | Description |
---|---|
Traverser le dossier/exécuter le fichier |
Pour les dossiers : Traverse Folder permet ou non de se déplacer dans les dossiers pour atteindre d’autres fichiers ou dossiers, même si l’utilisateur n’a pas d’autorisations pour les dossiers traversés. (S’applique uniquement aux dossiers.) Traverse folder prend effet uniquement lorsque le groupe ou l’utilisateur ne dispose pas du droit d’utilisateur Bypass traverse checking dans le snap-in de la stratégie de groupe. (Par défaut, le groupe Everyone se voit attribuer le droit d’utilisateur Bypass traverse checking.) Pour les fichiers : Exécuter le fichier autorise ou refuse l’exécution de fichiers de programme. (S’applique uniquement aux fichiers). Définir l’autorisation Traverse Folder sur un dossier ne définit pas automatiquement l’autorisation Execute File sur tous les fichiers de ce dossier. |
Lister le dossier/lire les données |
Lister le dossier autorise ou interdit l’affichage des noms de fichiers et de sous-dossiers dans le dossier. List Folder affecte uniquement le contenu de ce dossier et n’affecte pas le fait que le dossier sur lequel vous définissez l’autorisation sera répertorié. (S’applique uniquement aux dossiers.) Lire les données permet ou interdit de visualiser les données des fichiers. (S’applique uniquement aux fichiers.) |
Lire les attributs |
Autorise ou refuse la visualisation des attributs d’un fichier ou d’un dossier, tels que lecture seule et caché. Les attributs sont définis par NTFS. |
Lire les attributs étendus |
Permet ou refuse de visualiser les attributs étendus d’un fichier ou d’un dossier. Les attributs étendus sont définis par les programmes et peuvent varier d’un programme à l’autre. |
Créer des fichiers/écrire des données |
Créer des fichiers permet ou refuse de créer des fichiers dans le dossier. (S’applique uniquement aux dossiers). Écrire des données permet ou non d’apporter des modifications au fichier et d’écraser le contenu existant. (S’applique uniquement aux fichiers.) |
Créer des dossiers/Ajouter des données |
Créer des dossiers autorise ou non la création de dossiers au sein du dossier. (S’applique uniquement aux dossiers.) Apporter des données permet ou non d’apporter des modifications à la fin du fichier mais pas de modifier, supprimer ou écraser les données existantes. (S’applique uniquement aux fichiers.) |
Ecriture d’attributs |
Permet ou refuse de modifier les attributs d’un fichier ou d’un dossier, tels que lecture seule ou caché. Les attributs sont définis par NTFS. L’autorisation d’écriture d’attributs n’implique pas la création ou la suppression de fichiers ou de dossiers, elle comprend uniquement l’autorisation d’apporter des modifications aux attributs d’un fichier ou d’un dossier. Afin d’autoriser (ou de refuser) les opérations de création ou de suppression, voir Créer des fichiers/écrire des données, Créer des dossiers/ajouter des données, Supprimer des sous-dossiers et des fichiers et Supprimer. |
Écriture des attributs étendus |
Autorise ou refuse la modification des attributs étendus d’un fichier ou d’un dossier. Les attributs étendus sont définis par les programmes et peuvent varier d’un programme à l’autre. L’autorisation d’écriture d’attributs étendus n’implique pas la création ou la suppression de fichiers ou de dossiers, elle comprend uniquement l’autorisation d’apporter des modifications aux attributs d’un fichier ou d’un dossier. Afin d’autoriser (ou de refuser) les opérations de création ou de suppression, voir Créer des fichiers/écrire des données, Créer des dossiers/ajouter des données, Supprimer des sous-dossiers et des fichiers et Supprimer. |
Supprimer des sous-dossiers et des fichiers |
Autorise ou refuse la suppression de sous-dossiers et de fichiers, même si l’autorisation Supprimer n’a pas été accordée sur le sous-dossier ou le fichier. (S’applique aux dossiers.) |
Supprimer |
Autorise ou refuse la suppression du fichier ou du dossier. Si vous n’avez pas l’autorisation de Supprimer sur un fichier ou un dossier, vous pouvez toujours le supprimer si vous avez obtenu l’autorisation de Supprimer les sous-dossiers et les fichiers sur le dossier parent. |
Autorisations de lecture |
Autorise ou refuse les autorisations de lecture du fichier ou du dossier, telles que le contrôle total, la lecture et l’écriture. |
Modifier les autorisations |
Autorise ou refuse la modification des autorisations du fichier ou du dossier, comme le contrôle total, la lecture et l’écriture. |
Prendre la propriété |
Autorise ou refuse la prise de propriété du fichier ou du dossier. Le propriétaire d’un fichier ou d’un dossier peut toujours modifier les permissions sur celui-ci, indépendamment des permissions existantes qui protègent le fichier ou le dossier. |
Synchroniser |
Autorise ou refuse que différents threads attendent le handle du fichier ou du dossier et se synchronisent avec un autre thread qui peut le signaler. Cette autorisation ne s’applique qu’aux programmes multithreads et multiprocessus. |
Example:
icacls "d:\apps" /grant "domain admins":(OI)(CI)F /inheritance:ricacls "d:\apps" /grant "everyone":(OI)(CI)M /inheritance:r
Sur le partage des profils, seuls les « administrateurs de domaine » devraient être autorisés à entrer dans tous les « Dossiers, sous-dossiers et fichiers » (d’où le (OI)(CI):F) , tous les autres devraient pouvoir prêter « ce dossier seulement ».
Donc sans une combinaison de (CI) et/ou (OI) cela signifie « ce dossier seulement »
icacls "d:\profiles" /grant "domain admins":(OI)(CI)F /inheritance:ricacls "d:\profiles" /grant "everyone":R /inheritance:r
Lors de la création d’un nouvel utilisateur, l’administrateur de domaine doit créer manuellement un dossier de profil pour l’utilisateur et ajouter l’utilisateur avec les droits appropriés.
Il en va de même pour le partage des utilisateurs contenant les répertoires personnels de tous les utilisateurs
icacls "d:\users" /grant "domain admins":(OI)(CI)F /inheritance:ricacls "d:\users" /grant "everyone":R /inheritance:r
Maintenant utilisez votre propre imagination 🙂
.