我有一个单独的 /home 分区,文件系统为 ext4。我有大约 200 个用户,他们的用户名有共同的前缀(例如 2010...)。我必须为每个用户的主目录分配 500 MB 的空间限制(硬限制)。我不想逐个指定空间,而是想利用用户名前缀一次性设置限制。该怎么做?
答案1
一种方法是创建一个模板用户,使用 edquota 为该模板用户设置配额。然后使用setquota -p template_user -u real_user /filesystem
将配额设置分配template_user
给real_user
:
类似这样的方法可能对你有用。
cat /etc/passwd | cut -d: -f 1 | grep ^prefix | \
xargs -I{} -n 1 setquota -p template_user -u {} /filesystem
您可以创建一个包含用户和设置列表的文件,以便使用 --batch 选项。创建一个如下所示的文件
user1 block-softlimit block-hardlimit inode-softlimit inode-hardlimit
user2 block-softlimit block-hardlimit inode-softlimit inode-hardlimit
user4 block-softlimit block-hardlimit inode-softlimit inode-hardlimit
user5 block-softlimit block-hardlimit inode-softlimit inode-hardlimit
user5 block-softlimit block-hardlimit inode-softlimit inode-hardlimit
然后使用类似命令cat above_file | setquota--batch /filesystem
有很多不同的方法可以破解快速脚本,只需检查setquota 手册页。