我有一个非常奇怪的问题。我有 CentOS 服务器 6.10 和 ZFS 存储。现在存储是很久以前由某人配置的,我发现对于某些用户有一个配额设置。
当我检查文件系统时我得到输出
zfs# zfs get quota volume/local/default/users
NAME PROPERTY VALUE SOURCE
volume/local/default/users quota none default
因此,从这里我可以看到,在父文件夹上没有设置配额,但是当我使用以下命令检查特定用户时:
zfs# quota -v user
Disk quotas for user (uid 1000):
Filesystem usage quota limit timeleft files quota limit timeleft
/export/mail 930552 10485760 10485760 - - - - -
/export/users
2147483646 31457280 31457280 NOT STARTED - - - -
这样我就可以看到该用户
用户
已设定配额。
现在,此 ZFS 已安装在 CentOS 6.10 上,并在 /etc/fstab 中使用以下值:
zfs.mydomain.com:/export/users /users nfs defaults,_netdev 0 0
我可以访问 /users 文件夹。当我想使用 chown 命令时,问题就开始了:
chown -R test:grp /home/user/mnt/child_fldr
请注意,“测试”用户是 NIS 用户,如果我可以从 NIS 获取所有用户的列表,我也使用 ypcat passwd 对其进行了测试。 (我也是),所以这不是问题。错误的输出是:
chown:更改“/home/user/mnt/child_fldr/temp”的所有权:超出磁盘配额
现在更困惑的是,当我尝试使用本地用户帐户更改所有权时,更改它没有问题,但使用 NIS 用户时,我收到一些愚蠢的磁盘配额超出消息。
对于测试,我尝试删除 child_fldr 父目录中的“quotas”文件,并重新安装驱动器,但没有成功。同样在 ZSF 上,我尝试使用quotaoff -a 命令完全删除测试配额,同样仍然没有进展。
如何解决我的问题以便能够再次更改目录的所有权?
答案1
尽管我浏览了 Oracle 手册,但未能实现相当简单的事情:
它是用户配额而不是文件系统...:-)
所以我需要的命令是这样的:
zfs set userquota@1000=none volume/local/default/users