Trusted Extensions 構成と管理

印刷ビューの終了

更新: 2014 年 7 月
 
 

マルチレベルのデータセットを作成および共有する方法

マルチレベルのデータセットは、情報をダウングレードまたはアップグレードするときに役立つコンテナです。詳細は、ファイルのラベル変更に使用されるマルチレベルのデータセットを参照してください。また、マルチレベルの NFS ファイルサーバーが多数の NFS クライアントにさまざまなラベルでファイルを提供する場合にも、マルチレベルのデータセットが役立ちます。

始める前に

マルチレベルのデータセットを作成するには、大域ゾーンで root 役割になる必要があります。

  1. マルチレベルのデータセットを作成します。
    # zfs create -o mountpoint=/multi -o multilevel=on rpool/multi

    rpool/multi は大域ゾーンの /multi にマウントされたマルチレベルのデータセットです。

    データセットのラベル範囲の上限を制限するには、Example 4–7 を参照してください。

  2. マルチレベルのデータセットがマウントされていることと、そのマウントポイントに ADMIN_LOW ラベルが付いていることを確認します。
    # getlabel /multi
    /multi: ADMIN_LOW
  3. 親ファイルシステムを保護します。

    プール内のすべてのファイルシステムについて、次の ZFS プロパティーを off に設定します。

    # zfs set devices=off rpool/multi
    # zfs set exec=off rpool/multi
    # zfs set setuid=off rpool/multi
  4. (オプション)プールの圧縮プロパティーを設定します。

    ZFS では通常、圧縮はファイルシステムのレベルで設定されます。ただし、このプール内のファイルシステムはすべてデータファイルなので、圧縮はプールのトップレベルのデータセットで設定されます。

    # zfs set compression=on rpool/multi

    Oracle Solaris 11.2 での ZFS ファイルシステムの管理 のZFS の圧縮、複製解除、暗号化のプロパティー間の関連も参照してください。

  5. マルチレベルのデータセットに含める各レベルの最上位ディレクトリを作成します。
    # cd /multi
    # mkdir public internal
    # chmod 777 public internal
    # setlabel PUBLIC public
    # setlabel "CNF : INTERNAL" internal
  6. アクセスを承認されている各ラベル付きゾーンに、マルチレベルのデータセットを LOFS でマウントします。

    たとえば、次の一連の zonecfg コマンドは、データセットを 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

    マルチレベルのデータセットでは、マウント先ゾーンと同じラベルのファイルの書き込みと、下位レベルのファイルの読み取りが許可されます。マウントされたファイルのラベルは、表示と設定が可能です。

  7. NFS を使用してマルチレベルのデータセットをほかのシステムと共有するには、次のようにします。
    1. 大域ゾーンの NFS サービスをマルチレベルサービスにします。
      # 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. NFS サービスを再起動します。
      # svcadm restart nfs/server
    3. マルチレベルのデータセットを共有します。
      # share /multi

    NFS でマウントされたマルチレベルのデータセットでは、マウント先ゾーンと同じラベルのファイルの書き込みと、下位レベルのファイルの読み取りが許可されます。マウントされたファイルのラベルは、確実に表示することや設定することはできません。詳細は、別のシステムのマルチレベルデータセットのマウントを参照してください。

使用例 4-7  ADMIN_HIGH より低い最上位のラベルでマルチレベルのデータセットを作成する

この例では、管理者はデフォルトの ADMIN_HIGH より低い上限 (最上位ラベル) で、マルチレベルのデータセットを作成します。データセットの作成時に、管理者はこのラベル上限を mslabel プロパティーで指定します。この上限により、大域ゾーンのプロセスはマルチレベルのデータセット内にファイルやディレクトリを作成できなくなります。ラベル付きゾーンだけが、データセット内にディレクトリやファイルを作成できます。multilevel プロパティーが on なので、mlslabel プロパティーで設定されるのは上限であり、シングルラベルデータセットのラベルではありません。

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

次に、管理者は各ラベル付きゾーンにログインし、マウントされたデータセット内にゾーンのラベルでディレクトリを作成します。

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

マルチレベルのデータセットは、マウント先ゾーンのリブート後、承認されたユーザーにそのゾーンのラベルで表示されます。

次のステップ

ユーザーがファイルのラベルを変更できるようにするには、ラベル付きゾーンからファイルに再ラベル付けできるようにするを参照してください。

ファイルのラベルを変更する手順については、Trusted Extensions ユーザーズガイド のマルチレベルデータセットのデータをアップグレードする方法および Trusted Extensions ユーザーズガイド のマルチレベルデータセットのデータをダウングレードする方法を参照してください。