Skip to main content

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(
  "<groupeAD>", "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'.