Oracle Solaris ZFS 管理ガイド

ZFS アクセス権の委任

zfs allow コマンドを使用して、ZFS データセットに対するアクセス権を root 以外のユーザーに次の方法で委任できます。

次の表では、委任できる操作と、委任された操作の実行に必要な依存するアクセス権について説明します。

アクセス権 (サブコマンド) 

説明 

依存関係 

allow

所有しているアクセス権を別のユーザーに付与するアクセス権。 

許可しようとしているアクセス権自体を持っていることも必要です。 

クローン

データセットのスナップショットのいずれかを複製するアクセス権。  

元のファイルシステムで create アクセス権と mount アクセス権を持っていることも必要です。

create

子孫のデータセットを作成するアクセス権。 

mount アクセス権を持っていることも必要です。

destroy

データセットを破棄するアクセス権。 

mount アクセス権を持っていることも必要です。

mount

データセットのマウントとマウント解除、およびボリュームのデバイスリンクの作成と破棄を行うアクセス権。 

 

promote

クローンをデータセットに昇格させるアクセス権。 

元のファイルシステムで mount アクセス権と promote アクセス権を持っていることも必要です。

receive

zfs receive コマンドで子孫のファイルシステムを作成するアクセス権。

mount アクセス権と create アクセス権を持っていることも必要です。

rename

データセットの名前を変更するアクセス権。 

新しい親で create アクセス権と mount アクセス権を持っていることも必要です。

rollback

スナップショットをロールバックするアクセス権。 

 

send

スナップショットストリームを送信するアクセス権。 

 

share

データセットを共有および共有解除するアクセス権。 

 

snapshot

データセットのスナップショットを作成するアクセス権。 

 

次の一連のアクセス権を委任できますが、アクセス、読み取り、および変更のアクセス権に限定されることがあります。

また、次の ZFS プロパティーの管理をルート以外のユーザーに委任できます。

これらのプロパティーの一部は、データセットの作成時にのみ設定できます。これらのプロパティーについては、「ZFS のプロパティーの紹介」を参照してください。

ZFS アクセス権の委任 (zfs allow)

zfs allow の構文を次に示します。


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

次の zfs allow 構文 (太字) は、アクセス権の委任先を示しています。


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

複数のエンティティーをコンマ区切りのリストとして指定できます。-uge オプションが指定されていない場合、引数はキーワード everyone、ユーザー名、最後にグループ名という優先順位で解釈されます。「everyone」という名前のユーザーまたはグループを指定するには、-u オプションまたは -g オプションを使用します。ユーザーと同じ名前のグループを指定するには、-g オプションを使用します。-c オプションは作成時のアクセス権を委任します。

次の zfs allow 構文 (太字) は、アクセス権およびアクセス権セットの指定方法を示しています。


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

複数のアクセス権をコンマ区切りのリストとして指定できます。アクセス権の名前は、ZFS のサブコマンドおよびプロパティーと同じです。詳細は、前の節を参照してください。

アクセス権を「アクセス権セット」にまとめ、-s オプションで指定できます。アクセス権セットは、指定のファイルシステムとその子孫に対してほかの zfs allow コマンドで使用できます。アクセス権セットは動的に評価されるため、セットに加えられた変更はすぐに更新されます。アクセス権セットは ZFS ファイルシステムと同じ命名要件に従いますが、名前はアットマーク記号 (@) で始まり、64 文字以下の長さでなければなりません。

次の zfs allow 構文 (太字) は、アクセス権の委任方法を示しています。


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

-l オプションは、アクセス権が指定のデータセットだけに許可されることを示します。-d オプションも指定されている場合を除き、子孫には許可されません。-d オプションは、アクセス権が子孫のデータセットだけに許可されることを示します。-l オプションも指定されている場合を除き、このデータセットには許可されません。どちらのオプションも指定されていない場合は、ファイルシステムまたはボリュームおよびそのすべての子孫にアクセス権が許可されます。

ZFS 委任アクセス権を削除する (zfs unallow)

以前に委任したアクセス権を zfs unallow コマンドで削除できます。

たとえば、createdestroymount、および snapshot アクセス権を次のように委任したとします。


# 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
-------------------------------------------------------------

これらのアクセス権を削除するには、次の構文を使用します。


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