web-dev-qa-db-ja.com

複数のユーザーのためにubuntuでディスククォータを設定する

Ext4ファイルシステムを備えた別の/ homeパーティションがあります。ユーザー名に共通のプレフィックスが付いているユーザーが約200人います(例:2010 ...)。ユーザーのホームディレクトリごとに500MBのスペース制限(ハード制限)を割り当てる必要があります。スペースを1つずつ指定する代わりに、ユーザー名のプレフィックスを使用して1回の制限を設定したいと思います。どうすればそれができますか?

4
nixnotwin

1つの方法は、テンプレートユーザーを作成し、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

--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のmanページ を確認してください。

4
Zoredache