在 ubuntu 上为多个用户设置磁盘配额

在 ubuntu 上为多个用户设置磁盘配额

我有一个单独的 /home 分区,文件系统为 ext4。我有大约 200 个用户,他们的用户名有共同的前缀(例如 2010...)。我必须为每个用户的主目录分配 500 MB 的空间限制(硬限制)。我不想逐个指定空间,而是想利用用户名前缀一次性设置限制。该怎么做?

答案1

一种方法是创建一个模板用户,使用 edquota 为该模板用户设置配额。然后使用setquota -p template_user -u real_user /filesystem将配额设置分配template_userreal_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 手册页

相关内容