Ignorer les liens de navigation | |
Quitter l'aperu | |
Administration d'Oracle Solaris : Systèmes de fichiers ZFS Oracle Solaris 11 Information Library (Français) |
1. Système de fichiers Oracle Solaris ZFS (introduction)
2. Mise en route d'Oracle Solaris ZFS
3. Différences entre les systèmes de fichiers Oracle Solaris ZFS et classiques
4. Gestion des pools de stockage Oracle Solaris ZFS
5. Gestion des composants du pool racine ZFS
6. Gestion des systèmes de fichiers Oracle Solaris ZFS
7. Utilisation des instantanés et des clones ZFS Oracle Solaris
8. Utilisation des ACL et des attributs pour protéger les fichiers Oracle Solaris ZFS
9. Administration déléguée de ZFS dans Oracle Solaris
Présentation de l'administration déléguée de ZFS
Désactivation des droits délégués de ZFS
Délégation d'autorisations ZFS
Délégation des autorisations ZFS (zfs allow)
Suppression des autorisations déléguées de ZFS (zfs unallow)
Affichage des autorisations ZFS déléguées (exemples)
Suppression des autorisations ZFS déléguées (exemples)
10. Rubriques avancées Oracle Solaris ZFS
11. Dépannage d'Oracle Solaris ZFS et récupération de pool
12. Archivage des instantanés et récupération du pool racine
13. Pratiques recommandées pour Oracle Solaris ZFS
Exemple 9-1 Délégation d'autorisations à un utilisateur individuel
Lorsque vous déléguez les autorisations create et mount à un utilisateur individuel, vous devez vous assurer que cet utilisateur dispose d'autorisations sur le point de montage sous-jacent.
Par exemple, pour déléguer à l'utilisateur mark les autorisations create et mount sur le système de fichiers tank, définissez au préalable ces autorisations :
# chmod A+user:mark:add_subdirectory:fd:allow /tank/home
Utilisez ensuite la commande zfs allow pour déléguer les autorisations create, destroy et mount. Par exemple :
# zfs allow mark create,destroy,mount tank/home
L'utilisateur mark peut dorénavant créer ses propres systèmes de fichiers dans le système de fichiers tank/home. Par exemple :
# su mark mark$ zfs create tank/home/mark mark$ ^D # su lp $ zfs create tank/home/lp cannot create 'tank/home/lp': permission denied
Exemple 9-2 Délégation des autorisations de création (create) et de destruction (destroy) à un groupe
L'exemple suivant décrit comment configurer un système de fichiers de manière à ce que tout membre du groupe staff puisse créer et monter des systèmes de fichiers dans le système de fichiers tank/home, et détruire ses propres systèmes de fichiers. Toutefois, les membres du groupe staff ne sont pas autorisés à détruire les systèmes de fichiers des autres utilisateurs.
# zfs allow staff create,mount tank/home # zfs allow -c create,destroy tank/home # zfs allow tank/home ---- Permissions on tank/home ---------------------------------------- Create time permissions: create,destroy Local+Descendent permissions: group staff create,mount # su cindy cindy% zfs create tank/home/cindy/files cindy% exit # su mark mark% zfs create tank/home/mark/data mark% exit cindy% zfs destroy tank/home/mark/data cannot destroy 'tank/home/mark/data': permission denied
Exemple 9-3 Délégation d'autorisations au niveau approprié d'un système de fichiers
Assurez-vous de déléguer les autorisations aux utilisateurs au niveau approprié du système de fichiers. Par exemple, les autorisations create, destroy et mount pour les systèmes de fichiers locaux et descendants sont déléguées à l'utilisateur mark. L'autorisation locale de créer un instantané du système de fichiers tank/home a été délégué à l'utilisateur mark, mais pas celle de créer un instantané de son propre système de fichiers. L'autorisation snapshot ne lui a donc pas été déléguée au niveau approprié du système de fichiers.
# zfs allow -l mark snapshot tank/home # zfs allow tank/home ---- Permissions on tank/home ---------------------------------------- Create time permissions: create,destroy Local permissions: user mark snapshot Local+Descendent permissions: group staff create,mount # su mark mark$ zfs snapshot tank/home@snap1 mark$ zfs snapshot tank/home/mark@snap1 cannot create snapshot 'tank/home/mark@snap1': permission denied
Pour déléguer à l'utilisateur mark cette autorisation au niveau du système de fichiers descendants, utilisez l'option zfs allow -d. Par exemple :
# zfs unallow -l mark snapshot tank/home # zfs allow -d mark snapshot tank/home # zfs allow tank/home ---- Permissions on tank/home ---------------------------------------- Create time permissions: create,destroy Descendent permissions: user mark snapshot Local+Descendent permissions: group staff create,mount # su mark $ zfs snapshot tank/home@snap2 cannot create snapshot 'tank/home@snap2': permission denied $ zfs snapshot tank/home/mark@snappy
L'utilisateur mark ne peut maintenant créer un instantané qu'à un niveau inférieur du système de fichiers tank/home.
Exemple 9-4 Définition et utilisation d'autorisations déléguées complexes
Vous pouvez déléguer des autorisations spécifiques à des utilisateurs ou des groupes. Par exemple, la commande zfs allow suivante délègue des autorisations spécifiques au groupe staff. En outre, les autorisations destroy et snapshot sont déléguées après la création de systèmes de fichiers tank/home.
# zfs allow staff create,mount tank/home # zfs allow -c destroy,snapshot tank/home # zfs allow tank/home ---- Permissions on tank/home ---------------------------------------- Create time permissions: create,destroy,snapshot Local+Descendent permissions: group staff create,mount
Etant donné que l'utilisateur mark est membre du groupe staff, il peut créer des systèmes de fichiers dans tank/home. En outre, l'utilisateur mark peut créer un instantané de tank/home/mark2 parce qu'il dispose des autorisations spécifiques pour le faire. Par exemple :
# su mark $ zfs create tank/home/mark2 $ zfs allow tank/home/mark2 ---- Permissions on tank/home/mark2 ---------------------------------- Local permissions: user mark create,destroy,snapshot ---- Permissions on tank/home ---------------------------------------- Create time permissions: create,destroy,snapshot Local+Descendent permissions: group staff create,mount
L'utilisateur mark ne peut pas créer d'instantané dans tank/home/mark parce qu'il ne dispose pas des autorisations spécifiques pour le faire. Par exemple :
$ zfs snapshot tank/home/mark@snap1 cannot create snapshot 'tank/home/mark@snap1': permission denied
Dans cet exemple, l'utilisateur mark possède l'autorisation create dans son répertoire personnel, ce qui signifie qu'il peut créer des instantanés. Ce scénario s'avère utile lorsque votre système de fichiers est monté sur un système NFS.
$ cd /tank/home/mark2 $ ls $ cd .zfs $ ls shares snapshot $ cd snapshot $ ls -l total 3 drwxr-xr-x 2 mark staff 2 Sep 27 15:55 snap1 $ pwd /tank/home/mark2/.zfs/snapshot $ mkdir snap2 $ zfs list # zfs list -r tank/home NAME USED AVAIL REFER MOUNTPOINT tank/home/mark 63K 62.3G 32K /tank/home/mark tank/home/mark2 49K 62.3G 31K /tank/home/mark2 tank/home/mark2@snap1 18K - 31K - tank/home/mark2@snap2 0 - 31K - $ ls snap1 snap2 $ rmdir snap2 $ ls snap1
Exemple 9-5 Définition et utilisation d'un jeu d'autorisations délégué ZFS
L'exemple suivant décrit comment créer un jeu d'autorisations intitulé @myset et délègue ce jeu d'autorisations ainsi que l'autorisation de renommage au groupe staff pour le système de fichiers tank. L'utilisateur cindy, membre du groupe staff, a l'autorisation de créer un système de fichiers dans tank. Par contre, l'utilisateur lp ne dispose pas de cette autorisation de création de systèmes de fichiers dans tank.
# zfs allow -s @myset create,destroy,mount,snapshot,promote,clone,readonly tank # zfs allow tank ---- Permissions on tank --------------------------------------------- Permission sets: @myset clone,create,destroy,mount,promote,readonly,snapshot # zfs allow staff @myset,rename tank # zfs allow tank ---- Permissions on tank --------------------------------------------- Permission sets: @myset clone,create,destroy,mount,promote,readonly,snapshot Local+Descendent permissions: group staff @myset,rename # chmod A+group:staff:add_subdirectory:fd:allow tank # su cindy cindy% zfs create tank/data cindy% zfs allow tank ---- Permissions on tank --------------------------------------------- Permission sets: @myset clone,create,destroy,mount,promote,readonly,snapshot Local+Descendent permissions: group staff @myset,rename cindy% ls -l /tank total 15 drwxr-xr-x 2 cindy staff 2 Jun 24 10:55 data cindy% exit # su lp $ zfs create tank/lp cannot create 'tank/lp': permission denied