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

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

一种方法是创build一个模板用户,使用edquota来为该模板用户设置配额。 然后使用repquota -p template_user -u real_user /filesystem

像这样的东西可能适合你。

 cat /etc/passwd | cut -d: -f 1 | grep ^prefix | \ xargs -I{} -n 1 setquota -p template_user -u {} /filesystem 

您可以使用用户列表和设置来构build文件,以便使用–batch选项。 创build一个看起来像的文件

 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的命令 cat above_file | setquota--batch /filesystem

有很多不同的方法可以制作一个快速的脚本,只需检查setquota手册页即可 。