下面是《Linux学习日记十二 磁盘配额(quota)》的完整攻略。
什么是磁盘配额(quota)
磁盘配额(quota)是一种机制,它可以限制用户在文件系统中可以使用的空间大小,以避免磁盘被某个用户的文件占满。
配置磁盘配额
在Linux系统中,使用磁盘配额需要安装quota软件包。以Debian/Ubuntu系统为例,使用以下命令安装quota:
sudo apt-get install quota
安装完成后,需要在文件系统的挂载点(如/home
)上启用磁盘配额。需要在/etc/fstab
文件中增加usrquota
和grpquota
选项,示例如下:
/dev/sda1 /home ext4 defaults,usrquota,grpquota 0 2
修改完成后,需要重新挂载文件系统:
sudo mount -o remount /home
这时候,如果文件系统中已经有数据了,需要使用quotacheck
命令来生成磁盘配额的数据库。例如,对于/home
文件系统,可以使用以下命令:
sudo quotacheck -cum /home
其中,-c
表示创建数据库,-u
表示更新用户的磁盘配额信息,-m
表示更新组的磁盘配额信息。
然后,需要使用quotaon
命令来启用磁盘配额:
sudo quotaon /home
设置用户磁盘配额
启用磁盘配额后,可以使用edquota
命令来设置用户的磁盘配额。例如,为用户jerry
设置/home
文件系统的最大大小为200M,可以使用以下命令:
sudo edquota -u jerry /home
执行该命令后会进入一个编辑器,可以修改用户的磁盘配额信息。每个用户的磁盘配额信息通常包括以下几项:
blocks
:限制用户可以使用的数据块数量(1个块为1KB)。soft
:如果用户使用的数据块数量超过soft值,则进行警告,但不会强制限制。hard
:如果用户使用的数据块数量超过hard值,则会强制限制。
例如,在编辑器中可以设置如下内容:
Disk quotas for user jerry (uid 1000):
Filesystem blocks soft hard inodes soft hard
/dev/sda1 200 180 200 50 0 0
上述内容中,180
是soft值,200
是hard值,表示用户jerry
可以使用的空间最大为200KB。如果用户使用的空间超过了180KB,会收到警告,但不会被强制限制,当用户使用的空间超过了200KB时,会被强制限制。
设置组磁盘配额
类似地,也可以使用edquota
命令来设置组的磁盘配额。例如,为组wizard
设置/home
文件系统的最大大小为500M,可以使用以下命令:
sudo edquota -g wizard /home
同样地,执行该命令后会进入一个编辑器,需要修改组的磁盘配额信息。通常包括以下几项:
blocks
:限制组可以使用的数据块数量(1个块为1KB)。soft
:如果组使用的数据块数量超过soft值,则进行警告,但不会强制限制。hard
:如果组使用的数据块数量超过hard值,则会强制限制。
例如,在编辑器中可以设置如下内容:
Disk quotas for group wizard (gid 1001):
Filesystem blocks soft hard inodes soft hard
/dev/sda1 500 450 500 100 0 0
这里,450
和500
分别代表soft和hard值,表示组wizard
可以使用的空间最大为500KB。
参考文献
以上就是《Linux学习日记十二 磁盘配额(quota)》完整攻略。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:linux学习日记十二 磁盘配额(quota) - Python技术站