Windows - Matrice des permissions NTFS I. Introduction Lors de la création des acl avec powershell, il faut utiliser un formatage spécifique. $acl.AddAccessRule([System.Security.AccessControl.FileSystemAccessRule]::new( "", "ReadAndExecute","ContainerInherit,ObjectInherit","none","Allow" )) Le document ci-dessous décrit les éléments attendus pour chaque attribut. II. Valeurs attendues 2.1 Attribut 1 : Nom de groupe Le premier attribut est le nom du groupe / utilisateur sur lequel les permissions vont s'appliquer. Celui-ci est au format 'Scope\Groupe' Groupe / Utilisateur Domaine\groupe Builtin\groupe groupe local everyone "NT AUTHORITY\SYSTEM" 2.2 Attribut 2 : Droits à appliquer Le Second attribut contiennent le(s) droit(s) à appliquer. Il est possible d'en mettre plusieurs, en les séparant par une virgule. exemple : "Read,Write,ReadAndExecute" Ils sont de trois types : Normaux Read Write ReadAndExecute Modify FullControl ListDirectory ReadAttributes ReadExtendedAttributes WriteAttributes WriteExtendedAttributes Delete DeleteSubdirectoriesAndFiles ReadPermissions ChangePermissions TakeOwnership Synchronize Combinés ReadData WriteData AppendData ExecuteFile Spéciaux Traverse CreateFiles CreateDirectories 2.3 Attribut 3 : Héritage Le troisième attribut concerne la portée des droits. Valeur Signification None S'applique uniquement à ce dossier ContainerInherit S'applique aux sous-dossiers ObjectInherit S'applique aux fichiers ContainerInherit,ObjectInherit S'applique aux sous-dossiers et aux fichiers 2.4 Attribut 4 : Propagation Le quatrième attribut désigne la propagations des permissions. Valeur Signification None Héritage normal récursif. NoPropagateInherit S'applique aux enfants direct mais pas en dessous. InheritOnly S'applique uniquement aux enfants mais pas aux parents. 2.5 Attribut 5 : Type Le dernier paramètre définit le type d'ACL. Deux types : Allow Deny Info : Pour rappel, les ACL de type 'Deny' sont prioritaire par rapport à un 'Allow'.