SetACL
Introduction :
SetACL est un petit bijou , il remplace SUBINACL, CACLS.EXE, XCACLS.EXE et XCACLS.VBS.
C'est à dire, qu'il travail sur les ACL des objets M$ :
Tant au niveau de la sécurité qu'au niveau des audits.
Tout ce qui peut être fait à la souris peut être fait avec cet outils. Bien sur, un outil en ligne de commande qui sait faire tout ça n'est pas simple à prendreen mains, mais une fois qu'on le connaît un peu, il est finalement assez simple.
Pourquoi choisir SetACL plutôt que les outils M$ ?
Le pour : un seul outil au lieu de 2 (subinal et XCALCLS) une doc existe, il a bonne réputation
Le contre : par certain de suivre les évolutions de Windows.
J'aborderai ici quelques exemples d'utilisation de cet outil. Pour approfondir, il faut aller sur le site de l'auteur (http://setacl.sourceforge.net/)
Préambule :
Dans SetACL, on défini le nom de l'objet sur lequel on agi puis, le type d'objet ensuite l'action à réaliser enfin l'action proprement dite. Il peut y avoir différents paramètres concernant la récursivité, le mode silencieux ou autres.
Exemple : SetACL -on C:\TEST -ot file -actn ace -ace "n:%USERDOMAIN%\administrateurs;p:full"
Le nom de l'objet est : C:\TEST, de type file (fichier ou dossier) le type d'action est ACE (modification des ACE) et l'action est ici contrôle total pour le groupe administrateurs
Les Fichiers
Comme on vient de le voir, le début de l'action est simple.
-on nom du fichier ou du dossier le chemin peut être direct ou UNC
-ot file que ce soit pour des fichiers ou des dossiers
- actn ace
Reste le plus gros : -ace de la forme :"n:Trustee;p:Permission;s:Issid;i:Inheritance;m:Mode;w:Where"
En fait, une série de paramètre (n, p, s, i, m, w) avec leur aguments.
deux points (:) séparent un paramètre de son argument et un point virgule ; sépare deux paramètres.
n donne le nom sur lequel va agir l'ACE (utilisateurs, administrateurs) sous la forme : [ordinateur|domaine]\nom
ordinateur : nom netbios de l'ordinateur
domaine : nom netbios ou DNS du domaine
p définit les permissions suivant les valeurs suivantes; Il peut y avoir plusieurs valeurs séparées par des virgules.
i définit la portée (optionnel) par défaut les sécurités sont propagées sur tous les sous dossiers et fichiers.
Il y a quatre valeurs np (No propagation), sc (sub contenair), so (sub object), io (iherit only) qui combinées donnent les portées suivantes :
Ce dossier seulement |
Np |
---|---|
Ce dossier, les sous dossiers et les fichiers |
so + sc |
Ce dossier et les sous dossiers |
Sc |
Ce dossier et les fichiers |
So |
Les sous dossiers et les fichiers |
Sc + so + io |
Les sous dossiers seulement |
Sc + io |
Fichiers seulement |
so + io |
m définit le mode de fonctionnement.
Donc, pour donner le droit à nicolas_t du domaine voillaume de créer des dossiers dans le dossier C:\test du serveur srv-etk-2003 on écrira :
SetAcl -on \\srv-etk-2003\c$\test -ot file -actn ace -ace "n:%USERDOMAIN%\nicolas_t;p:add_subdir;i:np;m:grant"
OUF !