web-dev-qa-db-ja.com

非rootユーザーにZFSスナップショットを取得させる方法は?

非rootユーザーにzfsスナップショットを作成させようとしています。

許可セットを作成し、適切なユーザーにその中で定義された特権を与えました:

root@computer:~# zfs allow homepool/myuser
---- Permissions on homepool/myuser -----------------------------------
Permission sets:
    @myuser_allowed mount,snapshot
Local+Descendent permissions:
    user myuser @myuser_allowed

しかし、スナップショットを作成しようとすると、次のエラーが表示されます。

root@computer:~# su - myuser
myuser@computer:~$ /sbin/zfs snapshot homepool/myuser@`date +%F_%R`
Permission denied the ZFS utilities must be run as root.

ルートとしてスナップショットを作成すると、期待どおりに機能します。

root@computer:~# zfs snapshot homepool/myuser@`date +%F_%R`
root@computer:~# zfs list -t snapshot
NAME                              USED  AVAIL  REFER  MOUNTPOINT
homepool/myuser@2016-10-30_19:01    44K      -  5,32G  -
homepool/myuser@2016-10-30_19:37      0      -  5,32G  -

許可セットに何か他のものを追加する必要がありますか?それとも、zfsバイナリに対する特権を持つものですか?

root@computer:~# ls -l `which zfs`
-rwxr-xr-x 1 root root 103352 okt  5 15:05 /sbin/zfs

here で説明されている特権を適用してもうまくいきません:

root@computer:~# zfs allow -s @myuser_allowed create,mount,snapshot,clone,promote homepool/myuser
root@computer:~# zfs allow homepool/myuser
---- Permissions on homepool/myuser -----------------------------------
Permission sets:
    @myuser_allowed clone,create,mount,promote,snapshot
Local+Descendent permissions:
    user myuser @myuser_allowed
root@computer:~# su - myuser
myuser@computer:~$ /sbin/zfs snapshot homepool/myuser@`date +%F_%R`
Permission denied the ZFS utilities must be run as root.
3
azzid

(まだリリースされていない)ZoL zfs allowの機能として0.7.0サポートが 追加 だったようです。

インストールされたパッケージの名前から判断する(なぜzfs --versionを実行できないのですか?):

# dpkg-query --list | grep -i zfs
ii  libzfs2linux                                0.6.5.6-0ubuntu14                             AMD64        Native OpenZFS filesystem library for Linux
ii  libzpool2linux                              0.6.5.6-0ubuntu14                             AMD64        Native OpenZFS pool library for Linux
ii  zfs-doc                                     0.6.5.6-0ubuntu14                             all          Native OpenZFS filesystem documentation and examples.
ii  zfs-zed                                     0.6.5.6-0ubuntu14                             AMD64        OpenZFS Event Daemon (zed)
ii  zfsutils-linux                              0.6.5.6-0ubuntu14                             AMD64        Native OpenZFS management utilities for Linux

Ubuntu 16.04は、Linux上でZFSのバージョン0.6.5を実行しているようです。

それがおそらく私にとってうまくいかない理由の説明でしょう。エラーメッセージは、より明示的なものである可能性があります。

4
azzid

この記事の執筆時点では、ZoLでは「zfs allow」または「zfs unallow」はサポートされていません。非rootユーザーとしてzfsコマンドを実行する必要がある場合は、単に 'Sudo chmod g + o rw/dev/zfs'を実行します。これにより、すべてのユーザーがコマンドを実行できるようになります。 allow/unallowコマンドのサポートが組み込まれるまで、これが唯一の方法です。詳細については、添付のリンクを参照してください。 https://github.com/zfsonlinux/zfs/issues/441

1
jrea