Oracle® Solaris 11.2 での ZFS ファイルシステムの管理

印刷ビューの終了

更新: 2014 年 12 月
 
 

Solaris ACL モデル

以前のバージョンの Solaris では、主に POSIX ドラフト ACL 仕様に基づく ACL 実装がサポートされていました。POSIX ドラフトベースの ACL は、UFS ファイルを保護するために使用され、NFSv4 よりも前の NFS のバージョンによって変換されます。

NFSv4 を導入したことにより、NFSv4 が提供する UNIX クライアントとUNIX 以外のクライアントとの間の相互運用性を、新しい ACL モデルを使って完全にサポートできるようになりました。NFSv4 仕様で定義されている新しい ACL 実装は、NT 方式の ACL を使用して、より豊かなセマンティクスを実現します。

新しい ACL モデルは、主に次の点が異なっています。

  • NFSv4 仕様に基づいており、NT 方式の ACL に似ています。

  • アクセス特権をより詳細に設定できます。詳細は、Table 7–2 を参照してください。

  • setfaclgetfacl コマンドではなく、chmod および ls コマンドを使用して設定および表示します。

  • ディレクトリのアクセス特権をどのようにサブディレクトリに適用するかを指定するために、より多くの継承セマンティクスを利用できます。詳細については、ACL 継承を参照してください。

どちらの ACL モデルを使った場合でも、標準のファイルアクセス権の場合より詳細にアクセス権を制御できます。新しい ACL は、POSIX ドラフト ACL と同様に、複数のアクセス制御エントリ (ACE) で構成されています。

POSIX ドラフト方式の ACL は、1 つのエントリを使用して、許可されているアクセス権および拒否されているアクセス権を定義します。新しい ACL モデルでは、アクセス権を検査するために、2 種類の ACE が利用されます。ALLOWDENY です。そのため、アクセス権のセットを定義する 1 つの ACE から、その ACE で定義されなかったアクセス権が許可されているか拒否されているかどうかを推測することはできません。

NFSv4 方式の ACL と POSIX ドラフト ACLとの 間の変換は、次のように行われます。

  • ACL に対応するユーティリティー (cpmvtarcpiorcp コマンドなど) のいずれかを使用している場合は、ACL が含まれる UFS ファイルを ZFS ファイルシステムに転送するときに、POSIX ドラフト ACL が同等の NFSv4 方式の ACL に変換されます。

  • 一部の NFSv4 方式の ACL は、POSIX ドラフト ACL に変換されます。NFSv4 方式の ACL が POSIX ドラフト ACL に変換されない場合は、次のようなメッセージが表示されます。

    # cp -p filea /var/tmp
    cp: failed to set acl entries on /var/tmp/filea
  • 最新の Solaris リリースを実行するシステム上で ACL の保持オプション (tar –p または cpio –P) を使って UFS tar または cpio アーカイブを作成した場合でも、以前の Solaris リリースを実行するシステム上でそのアーカイブを展開したときは、ACL が失われます。

    すべてのファイルが正しいファイルモードで展開されますが、ACL エントリは無視されます。

  • ufsrestore コマンドを使って ZFS ファイルシステムにデータを復元することができます。元のデータに POSIX 方式の ACL が含まれている場合、それらは NFSv4 方式の ACL に変換されます。

  • UFS ファイルに NFSv4 方式の ACL を設定しようとすると、次のようなメッセージが表示されます。

    chmod: ERROR: ACL type's are different
  • ZFS ファイルに POSIX 方式の ACL を設定しようとすると、次のようなメッセージが表示されます。

    # getfacl filea
    File system doesn't support aclent_t style ACL's.
    See acl(5) for more information on Solaris ACL support.

ACL およびバックアップ製品に関するその他の制限については、ほかのバックアップ製品を使用して ZFS データを保存するを参照してください。