Guide d'administration Oracle Solaris ZFS

Délégation de droits ZFS

Vous pouvez utiliser la commande zfs allow pour accorder des droits applicables aux jeux de données ZFS aux utilisateurs non root, de la manière suivante :

Le tableau suivant décrit les opérations pouvant être déléguées et tout droit dépendant devant réaliser ces opérations déléguées.

Droit (sous-commande) 

Description 

Dépendances 

allow

Capacité à accorder des droits qui vous ont été octroyés à un autre utilisateur. 

Doit également disposer du droit à autoriser. 

Clone

Capacité à cloner tout instantané du jeu de données.  

Doit également disposer de la capacité create et de la capacité mount dans le système de fichiers d'origine.

create

Capacité à créer des jeux de données descendants. 

Doit également disposer de la capacité mount.

destroy

Capacité à détruire un jeu de données. 

Doit également disposer de la capacité mount.

monter

Capacité à monter et démonter un jeu de données, et à créer et détruire les liens vers des périphériques de volume. 

 

promote

Capacité à promouvoir le clonage d'un jeu de données. 

Doit également disposer de la capacité mount et de la capacité promote dans le système de fichiers d'origine.

receive

Capacité à créer des systèmes de fichiers descendant à l'aide de la commande zfs receive.

Doit également disposer de la capacité mount et de la capacité create.

rename

Capacité à renommer un jeu de données. 

Doit également disposer de la capacité create et de la capacité mount dans le nouveau parent.

rollback

Capacité à restaurer un instantané. 

 

send

Capacité à envoyer un flux d'instantané. 

 

share

Capacité à partager et annuler le partage d'un·jeu de données. 

 

Instantané

Capacité à prendre un instantané de·jeu de données. 

 

Vous pouvez déléguer l'ensemble d'autorisations suivant mais l'autorisation peut être limitée à l'accès, la lecture et la modification :

Vous pouvez en outre déléguer les propriétés ZFS suivantes à des utilisateurs non root :

Certaines de ces propriétés ne peuvent être définies qu'à la création d'un jeu de données. Pour une description de ces propriétés, reportez-vous à la section Présentation des propriétés ZFS.

Délégation des autorisations ZFS (zfs allow)

La syntaxe de zfs allow est la suivante :


zfs allow -[ldugecs] everyone|user|group[,...] perm|@setname,...] filesystem| volume

La syntaxe de zfs allow suivante (en gras) identifie les utilisateurs auxquels les droits sont délégués :


zfs allow [-uge]|user|group|everyone [,...] filesystem | volume

Vous pouvez spécifier plusieurs entrées sous forme de liste séparée par des virgules. Si aucune option -uge n'est spécifiée, l'argument est interprété en premier comme le mot-clé everyone, puis comme un nom d'utilisateur et enfin, comme un nom de groupe. Pour spécifier un utilisateur ou un groupe nommé "everyone", utilisez l'option -u ou l'option -g. Pour spécifier un groupe portant le même nom qu'un utilisateur, utilisez l'option -g. L'option -c accorde des droits create-time.

La syntaxe de zfs allow suivante (en gras) identifie la méthode de spécification des droits et jeux de droits :


zfs allow [-s] ... perm|@setname [,...] filesystem | volume

Vous pouvez spécifier plusieurs droits sous forme de liste séparée par des virgules. Les noms de droits sont identiques aux sous-commandes et propriétés ZFS. Pour plus d'informations, reportez-vous à la section précédente.

Les droits peuvent être regroupés en jeux de droits et sont identifiés par l'option -s. Les jeux de droits peuvent être utilisés par d'autres commandes zfs allow pour le système de fichiers spécifié et ses descendants. Les jeux de droits sont évalués dynamiquement et de ce fait, toute modification apportée à un jeu est immédiatement mise à jour. Les jeux de droits doivent se conformer aux mêmes conventions d'attribution de noms que les systèmes de fichiers ZFS, à ceci près que leurs noms doivent commencer par le caractère arobase (@) et ne pas dépasser 64 caractères.

La syntaxe de zfs allow suivante (en gras) identifie la méthode de délégation des droits :


zfs allow [-ld] ... ... filesystem | volume

L'option -l indique que le droit est accordé au jeu de données spécifié mais pas à ses descendants, à moins de spécifier également l'option -d. L'option -d indique que le droit est accordé pour les jeux de données descendants mais pas pour l'actuel jeu de données, à moins de spécifier également l'option -l. Si aucun des droits -ld n'est spécifié, les droits sont accordés au système de fichiers ou au volume, ainsi qu'à leurs descendants.

Suppression des droits délégués de ZFS (zfs unallow)

Vous pouvez supprimer des droits précédemment accordés, à l'aide de la commande zfs unallow.

Supposons par exemple que vous déléguiez les droits create, destroy, mount et snapshot de la manière suivante :


# zfs allow cindys create,destroy,mount,snapshot tank/cindys
# zfs allow tank/cindys
-------------------------------------------------------------
Local+Descendent permissions on (tank/cindys)
        user cindys create,destroy,mount,snapshot
-------------------------------------------------------------

Pour supprimer ces autorisations, vous devez utiliser une syntaxe du type suivant :


# zfs unallow cindys tank/cindys
# zfs allow tank/cindys