Configuration et administration de Trusted Extensions

Quitter la vue de l'impression

Mis à jour : Juillet 2014
 
 

Création et partage d'un jeu de données multiniveau

Les jeux de données multiniveau sont des conteneurs utiles lorsque vous rétrogradez ou mettez à niveau des informations. Pour plus d'informations, reportez-vous à la section Jeux de données multiniveau pour la modification d'étiquette de fichiers. Les jeux de données multiniveau sont également utiles pour que les serveurs de fichiers NFS multiniveau fournissent des fichiers sous un grand nombre d'étiquettes à des clients NFS.

Avant de commencer

Pour créer un jeu de données multiniveau, vous devez être dans le rôle root dans la zone globale.

  1. Créez un jeu de données multiniveau.
    # zfs create -o mountpoint=/multi -o multilevel=on rpool/multi

    rpool/multi est un jeu de données multiniveau monté dans la zone globale dans /multi.

    Pour limiter la plage d'étiquettes supérieure du jeu de données, reportez-vous à l'Example 4–7.

  2. Assurez-vous que le jeu de données multiniveau est monté et que le point de montage dispose de l'étiquette ADMIN_LOW.
    # getlabel /multi
    /multi: ADMIN_LOW
  3. Protégez le système de fichiers parent.

    Définissez les propriétés ZFS suivantes sur off pour tous les systèmes de fichiers du pool :

    # zfs set devices=off rpool/multi
    # zfs set exec=off rpool/multi
    # zfs set setuid=off rpool/multi
  4. (Facultatif)Définissez la propriété de compression du pool.

    En règle générale, la compression est définie dans ZFS au niveau du système de fichiers. Toutefois, dans la mesure où tous les systèmes de fichiers présents dans ce pool sont des fichiers de données, la compression est définie au niveau du jeu de données supérieur du pool.

    # zfs set compression=on rpool/multi

    Voir également la section Interactions entre les propriétés de compression, de suppression des doublons et de chiffrement ZFS du manuel Gestion des systèmes de fichiers ZFS dans OracleSolaris 11.2 .

  5. Créez des répertoires de niveau supérieur pour chaque étiquette que vous souhaitez placer dans le jeu de données multiniveau.
    # cd /multi
    # mkdir public internal
    # chmod 777 public internal
    # setlabel PUBLIC public
    # setlabel "CNF : INTERNAL" internal
  6. Utilisez LOFS pour monter le jeu de données multiniveau dans chaque zone étiquetée qui bénéficie d'un accès approuvé.

    Par exemple, les séries suivantes de commandes zonecfg permettent de monter le jeu de données dans la zone public.

    # zonecfg -z public
    zonecfg:public> add fs
    zonecfg:public:fs> set dir=/multi
    zonecfg:public:fs> set special=/multi
    zonecfg:public:fs> set type=lofs
    zonecfg:public:fs> end
    zonecfg:public> exit

    Les jeux de données multiniveau autorisent l'écriture de fichiers sous la même étiquette que la zone de montage et de lecture des fichiers de niveau inférieur. L'étiquette des fichiers montés peut être affichée et définie.

  7. Pour utiliser NFS afin de partager le jeu de données multiniveau avec d'autres systèmes, effectuez les opérations suivantes :
    1. Placez le service NFS de la zone globale dans un service multiniveau.
      # tncfg -z global add mlp_private=2049/tcp
      # tncfg -z global add mlp_private=111/udp
      # tncfg -z global add mlp_private=111/tcp
    2. Redémarrez le service NFS.
      # svcadm restart nfs/server
    3. Partagez le jeu de données multiniveau.
      # share /multi

    Les jeux de données multiniveau montés en NFS autorisent l'écriture de fichiers sous la même étiquette que la zone de montage et la lecture des fichiers de niveau inférieur. L'étiquette des fichiers montés ne peut pas être affichée de manière fiable ou définie. Pour plus d'informations, reportez-vous à la section Montage de jeux de données multiniveau provenant d'un autre système.

Exemple 4-7  Création d'un jeu de données multiniveau avec l'étiquette la plus haute sous ADMIN_HIGH

Dans cet exemple, l'administrateur crée un jeu de données multiniveau avec une limite supérieure (l'étiquette la plus haute) qui est inférieure à la valeur par défaut (ADMIN_HIGH). A sa création, l'administrateur indique la limite d'étiquette supérieure dans la propriété mslabel. Cette limite supérieure empêche les processus de la zone globale de créer tout fichier ou répertoire dans le jeu de données multiniveau. Seuls les processus de zone étiquetée peuvent créer des répertoires et des fichiers dans le jeu de données. La propriété multilevel étant on, la propriété mlslabel définit la limite supérieure, et non l'étiquette pour un jeu de données à étiquette unique.

# zfs create -o mountpoint=/multiIUO -o multilevel=on \
   -o mlslabel="CNF : INTERNAL" rpool/multiIUO

Ensuite, l'administrateur se connecte à chaque zone étiquetée pour créer un répertoire sous cette étiquette dans le jeu de données monté.

# zlogin public
# mkdir /multiIUO
# chmod 777 /multiIUO
# zlogin internal
# mkdir /multiIUO
# chmod 777 /multiIUO

Les jeux de données multiniveau sont visibles sous l'étiquette de la zone de montage pour les utilisateurs autorisés après la réinitialisation de la zone.

Etapes suivantes

Pour autoriser les utilisateurs à modifier l'étiquetage des fichiers, reportez-vous à la section Octroi de l'autorisation à modifier l'étiquette de fichiers à un utilisateur.

Pour obtenir des instructions sur la modification de l'étiquetage des fichiers, reportez-vous aux sections Mise à niveau de données dans un jeu de données multiniveau du manuel Guide de l’utilisateur de Trusted Extensions et Rétrogradation de données dans un jeu de données multiniveau du manuel Guide de l’utilisateur de Trusted Extensions .