如何让非root用户拍摄ZFS快照?

azz*_*zid 3 permissions zfs snapshot 16.04

我试图让非 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
Run Code Online (Sandbox Code Playgroud)

但是当我尝试创建快照时出现以下错误:

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

以 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  -
Run Code Online (Sandbox Code Playgroud)

我需要在权限集中添加其他内容吗?或者它是否具有 zfs 二进制文件的特权?

root@computer:~# ls -l `which zfs`
-rwxr-xr-x 1 root root 103352 okt  5 15:05 /sbin/zfs
Run Code Online (Sandbox Code Playgroud)

应用此处描述的权限并没有更好的效果:

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.
Run Code Online (Sandbox Code Playgroud)

azz*_*zid 5

看来zfs allow支持是作为一项功能添加到(尚未发布的)ZoL 中的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
Run Code Online (Sandbox Code Playgroud)

Ubuntu 16.04 似乎0.6.5在 Linux 上运行 ZFS 版本。

这可能就是为什么它对我不起作用的解释。恕我直言,错误消息本来可以更明确。