Guide d'administration Oracle Solaris ZFS

Descriptions de syntaxe pour la configuration des ACL

Les deux formats de base des ACL sont les suivants :

Syntax for Setting Trivial ACLs

Une ACL constitue un élément trivial : elle représente uniquement les entrées UNIX owner/group/other standard.

chmod [options] A[index]{+|=}owner@ |group@ |everyone@: droits d'accès/...[:indicateurs d'héritage]: deny | allow fichier

chmod [options] A-owner@, group@, everyone@:droits d'accès /...[:indicateurs d'héritage]:deny | allow fichier ...

chmod [options] A[index]- fichier

Syntaxe pour la configuration d'ACL non triviales

chmod [options] A[index]{+|=}user|group:name:droits d'accès /...[:indicateurs d'héritage]:deny | allow fichier

chmod [options] A-user|group:name:droits d'accès /...[:indicateurs d'héritage]:deny | allow fichier ...

chmod [options] A[index]- fichier

owner@, group@, everyone@

Identifie le type d'entrée d'ACL pour la syntaxe d'ACL triviale. Pour obtenir une description des types d'entrée d'ACL, reportez-vous au Tableau 8–1.

user ou group:ACL-entry-ID=username or groupname

Identifie le type d'entrée d'ACL pour la syntaxe d'ACL explicite. Les types d'entrées d'ACL user et group doivent également contenir les éléments suivants : ACL-entry-ID, username ou groupname. Pour obtenir une description des types d'entrée d'ACL, reportez-vous au Tableau 8–1.

droits-accès/.../

Identifie les droits d'accès accordés ou refusés. Pour obtenir une description des privilèges d'accès d'ACL, reportez-vous au Tableau 8–2.

indicateurs-héritage

Identifie une liste optionnelle d'indicateurs d'héritage d'ACL. Pour une description des indicateurs d'héritage d'ACL, reportez-vous au Tableau 8–3.

deny | allow

Détermine si les droits d'accès sont accordés ou refusés.

Dans l'exemple suivant, la valeur de l'ID d'entrée d'ACL n'est pas pertinente :


group@:write_data/append_data/execute:deny

L'exemple suivant inclut un ID d'entrée d'ACL car un utilisateur spécifique (type d'entrée d'ACL) est inclus dans la liste.


0:user:gozer:list_directory/read_data/execute:allow

Lorsqu'une entrée d'ACL s'affiche, elle est similaire à celle-ci :


2:group@:write_data/append_data/execute:deny

Dans l'exemple suivant, la valeur 2, à savoir la désignation de la propriété ID d'index, permet d'identifier l'entrée ACL dans la plus grande ACL qui peut présenter plusieurs entrées pour le propriétaire, des UID spécifiques, des groupes et pour tous. Vous pouvez spécifier l'ID d'index avec la commande chmod pour identifier la partie de l'ACL que vous souhaitez modifier. Par exemple, vous pouvez identifier l'ID de l'index 3 A3 en utilisant une syntaxe de commande chmod semblable à la syntaxe suivante :


chmod A3=user:venkman:read_acl:allow filename

Les types d'entrées d'ACL (qui sont les représentations d'ACL du propriétaire, du groupe et autres) sont décrits dans le tableau suivant.

Tableau 8–1 Types d'entrées d'ACL

Type d'entrée d'ACL 

Description 

owner@

Spécifie l'accès accordé au propriétaire de l'objet. 

group@

Spécifie l'accès accordé au groupe propriétaire de l'objet. 

everyone@

Spécifie l'accès accordé à tout utilisateur ou groupe ne correspondant à aucune autre entrée d'ACL. 

user

Avec un nom d'utilisateur, spécifie l'accès accordé à un utilisateur supplémentaire de l'objet. Cette entrée doit comprendre l'ID d'entrée ACL contenant un nom d'utilisateur ou un ID d'utilisateur. Le type d'entrée d'ACL est incorrect si la valeur n'est ni un UID numérique, ni un nom d'utilisateur.

group

Avec un nom de groupe, spécifie l'accès accordé à un utilisateur supplémentaire de l'objet. Cette entrée doit comprendre l'ID d'entrée ACL contenant un nom de groupe ou un ID de groupe. Le type d'entrée d'ACL est incorrect si la valeur n'est ni un GID numérique, ni un nom de groupe.

Les privilèges d'accès sont décrits dans le tableau suivant.

Tableau 8–2 Privilèges d'accès d'ACL

Privilège d'accès 

Privilège d'accès compact 

Description 

add_file

w

Droit d'ajouter un fichier à un répertoire. 

add_subdirectory

p

Dans un répertoire, droit de créer un sous-répertoire. 

append_data

p

Marque de réservation. Non implémentée actuellement. 

delete

d

Droit de supprimer un fichier. 

delete_child

D

Droit de supprimer un fichier ou un répertoire au sein d'un répertoire. 

execute

x

Droit d'exécuter un fichier ou d'effectuer une recherche dans le contenu d'un répertoire. 

list_directory

r

Droit de dresser la liste du contenu d'un répertoire. 

read_acl

c

Droit de lire l'ACL (ls).

read_attributes

a

Droit de lire les attributs de base (non ACL) d'un fichier. Considérez les attributs de base comme les attributs de niveau stat. L'autorisation de ce bit de masque d'accès signifie que l'entité peut exécuter ls(1) et stat(2).

read_data

r

Droit de lire les informations d'un fichier. 

read_xattr

R

Droit de lire les attributs d'un fichier ou d'effectuer une recherche dans le répertoire d'attributs étendus d'un fichier. 

synchronize

s

Marque de réservation. Non implémentée actuellement. 

write_xattr

W

Droit de créer des attributs étendus ou d'écrire dans le répertoire d'attributs étendus. 

L'attribution de ce droit à un utilisateur signifie que ce dernier peut créer un répertoire d'attributs étendus pour un fichier. Les droits du fichier d'attributs contrôlent l'accès de l'utilisateur à l'attribut. 

write_data

w

Droit de modifier ou de remplacer le contenu d'un fichier. 

write_attributes

A

Droit de remplacer les horodatages associés à fichier ou un répertoire par une valeur arbitraire. 

write_acl

C

Droit d'écriture sur l'ACL ou de modification de celle-ci à l'aide de la commande chmod.

write_owner

o

Droit de modifier le propriétaire ou le groupe d'un fichier. Ou capacité d'exécuter les commandes chown ou chgrp sur le fichier.

Droit de devenir propriétaire d'un fichier ou droit de définir la propriété de groupe du fichier sur un groupe dont fait partie l'utilisateur. Le privilège PRIV_FILE_CHOWN est requis pour définir la propriété de fichier ou de groupe sur un groupe ou un utilisateur arbitraire.