私とルームメイトはZFSを使って自宅にNASサーバーを構築する予定ですが、それぞれ独自の独立したスペースを持ちたいです。
複数の異なるデータセットを作成し、所有者だけがデータにアクセスできるように各データセットをユーザーに割り当てることはできますか?
答え1
はい、可能です。基本データ・セットの作成時間権限を使用することをお勧めします。これはオプションを使用して-c
実行されますが、zfs allow
最初にユーザーが新しいデータセットを作成できるようにします。たとえば、最初に基本データセットがあり、mypool/base
この基本データセットを使用してローカル作成権限を許可できますallow -l -u <user> <permission>[,<permission>...] mypool/base
。これにより、user1は自分のデータセットを作成し、mypool/base/<user1data>
同様に他のユーザー用のデータセットを作成できますが、他のユーザーのデータセットを削除またはマウントすることはできません。
このzfs allow -c
オプションを使用して、子データセットに対するより広い権限を許可できるようになります。これは独自のデータセットを作成するだけで十分です。
マニュアルページから:
zfs allow -c perm|@setname[,...] filesystem|volume Sets "create time" permissions. These permissions are granted (locally) to the creator of any newly-created descendent file system.
したがって、より広範な生成時間権限を提供することにより、各ユーザーは次のデータセットにのみ適用される完全な権限を持つことができます。それらすでに作成されています。偽のデータセットを使用してどのように機能するかを確認してください。
または、ユーザーがマウントしたいデータセットのマウントポイントを所有する必要があります。これにより、ユーザーが所有するディレクトリにデータセットのマウントポイントがあるように事前設定できます。