我在虚拟机中运行 Ubuntu 22.04,并按照说明进行操作这里用于创建 ZFS 池。
但是,创建、挂载和卸载 zfs 数据集的命令似乎都需要 root 权限。我想创建一个特定的池,允许用户在其中创建和删除自己的数据集。
我已经读过我应该能够这样做来授予用户权限:
sudo zfs create new-pool/userspace # this works
sudo zfs allow $USER create,mount,unmount new-pool/userspace # this fails
我收到错误:
cannot set permissions on 'new-pool/userspace': operation not applicable to datasets of this type
最初 Linux 上的 ZFS(ZoL)不支持allow
,但显然在 0.7.0 中已添加,所以我相信它应该可以工作。我该如何解决这个问题?
其他可能相关的信息:
$ zfs get type new-pool/userspace
NAME PROPERTY VALUE SOURCE
new-pool/userspace type filesystem -
$ zfs list
NAME USED AVAIL REFER MOUNTPOINT
new-pool 6.44G 12.4G 6.44G /new-pool
new-pool/userspace 24K 12.4G 24K /new-pool/userspace
$ ls -ld /new-pool/userspace
drwxr-xr-x 2 root root 2 Nov 4 19:31 /new-pool/userspace
答案1
这是一个误导性的错误信息。问题在于这unmount
不是一个有效的权限。create
并且mount
两者都有效。有一个未解决的问题可以改进错误信息这里。