Linux quota是一种磁盘配额限制工具,可以限制用户或组在磁盘上使用的最大空间,防止用户占用过多的磁盘空间。repquota是quota的一个子命令,用于查询已经运行的磁盘配额情况。以下是Linux quota和repquota命令查询磁盘配额的完整攻略:
1. 安装quota
首先需要安装quota,使用以下命令:
sudo apt-get install quota
2. 开启quota
在安装完quota后,需要使用以下命令开启quota:
sudo quotacheck -avugm
sudo quotaon /
第一个命令用于检查磁盘上的文件系统,创建quota文件;第二个命令用于启用quota。
3. 创建一个测试用户和组
创建一个测试用户和组,使用以下命令:
sudo groupadd test_group
sudo useradd -g test_group test_user
4. 给组和用户分配磁盘配额
接下来,我们需要给test_user所属的test_group分配磁盘配额,并设置指定大小来限制用户或者组使用的最大空间。在这里,我们将test_group的配额大小设置为100M。
sudo edquota -g test_group
使用以上命令会打开一个文件编辑器,在这里我们可以设置test_group的磁盘配额,将其配额大小设置为100M。
Disk quotas for group test_group (gid 1001):
Filesystem blocks soft hard inodes soft hard
/dev/sda1 64 0 0 9 0 0
上述配额的含义:磁盘使用量为64个块(一个块大小默认为1KB),soft和hard表示磁盘配额的软限制和硬限制,分别为0,表示没有限制。
5. 挑战测试,检查磁盘配额
接下来,我们需要测试磁盘配额,让test_user试图占用100MB磁盘空间来检查是否受到磁盘配额的限制。
sudo su - test_user
dd if=/dev/urandom of=~/test bs=1024 count=102400
以上命令会在/home/test_user目录下创建一个100MB大小的测试文件。如果测试用户没有达到配额限制,则成功创建文件,否则会提示没有足够的磁盘空间。
6. 使用repquota查询配额
可使用以下命令查看磁盘配额的使用情况:
sudo repquota -s /
输出如下:
*** Report for user quotas on device /dev/sda1
Block grace time: 7days; Inode grace time: 7days
Block limits File limits
User used soft hard grace used soft hard grace
----------------------------------------------------------------------
root -- 72M 0 0 3 0 0
test_user -- 99M 0 0 1 0 0
说明test_user组已经使用了99MB的磁盘空间,但仍然没有到达磁盘配额限制。
注意:在输出结果中,“soft”表示配额的软限制,“hard”表示配额的硬限制,“grace”表示度过限制时间的一个宽限期。
综上,以上是Linux quota和repquota命令查询磁盘配额的完整攻略。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解Linux quota和repquota命令查询磁盘配额方法 - Python技术站