Linux 如何限制用户的磁盘使用量 -- quota

1. 查看所有磁盘的容量及使用情况:


可以看到本机有三块磁盘(sda/sdb/sdc),每块磁盘的大小约1T,其中系统被安装到了sda上,另两块磁盘被挂载到了/home/mnt1 和/home/mnt2上。由于使用服务器的人只有十来个,因此可以先将用户的home目录建在这两块磁盘上,以后用户增多再建在sda上。

了解了磁盘情况,我们为每个用户设置磁盘的使用量为100G。

2.安装quota工具:

$sudo apt-get install quota

3.设置分区的Quota档案格式并使其生效:

$sudo vi /etc/fstab

----------------------------------------------------------------------------------------------------------------------------------
#/home/mnt1 is on /dev/sdb
UUID=025364c7-0414-4c9f-ac53-66671a954023 /home/mnt1 ext4 defaults,usrquota,grpquota 0 0

#/home/mnt2 is on /dev/sdc
UUID=b325110a-39a5-482a-8bc1-fe4a325fa322 /home/mnt2 ext4 defaults,usrquota,grpquota 0 0
----------------------------------------------------------------------------------------------------------------------------------

重新挂载/home/mnt1和/home/mnt2文件系统激活quota:

$mount -o remount /home/mnt1
$mount -o remount /home/mnt2

4.创建配额文档,重新生成磁盘用量表:

$sudo quotacheck -cugm /home/mnt1
$sudo quotacheck -cugm /home/mnt2
$ls -la /home/mnt1 -->可以看到生成了两个文件:aquota.group和aquota.user,两个文件记录了对分区限额的信息。

5.配置用户磁盘使用限额

$sudo edquota sygan

-----------------------------------------------------------------------------------------------------------------
Disk quotas for user sygan (uid 1001):
Filesystem blocks soft hard inodes soft hard
/dev/mapper/M8--PBI--vg-root 633336 0 0 10758 0 0
/dev/sdb 50646000 0 0 673469 0 0
/dev/sdc 0 0 0 0 0 0
-----------------------------------------------------------------------------------------------------------------
1).filesystem:用户在哪个文件系统上的限额。
2).blocks: blocks数量,quota自己算出来的,单位为 Kbytes,请不要修改它。
3).soft: block的soft(下限)限制值,单位为 Kbytes。
4).block: block的hard(上限)限制值,单位为 Kbytes。
5).inodes: inodes数量,quota自己算出来的,单位为 Kbytes,请不要修改它。
6).soft: inode 的 soft 限制值;
7).hard: inode 的 hard 限制值;

当 soft/hard 为 0 时,表示沒有限制的意思。我们需要设定的是 blocks 的 soft/hard ,至于 inode 则不要去动它!
于是,我们可以为用户分配大概100G的磁盘:
--------------------------------------------------------------------------------------------------------------------------------------
Disk quotas for user sygan (uid 1001):
Filesystem blocks soft hard inodes soft hard
/dev/mapper/M8--PBI--vg-root 0 0 0 0 0 0
/dev/sdb 42203060 100000000 104857600 654491 0 0
/dev/sdc 0 0 0 0 0 0
--------------------------------------------------------------------------------------------------------------------------------------

5.1 设置单个用户的配额
setquota -u usename 1700G 1800G 0 0 /home

5.2 报告用户配额状态
quota username

Disk quotas for user username (uid 1001): 
     Filesystem  blocks   quota   limit   grace   files   quota   limit   grace
      /dev/sda4 106493560  1782579200 1887436800          964994       0       0        

5.3 查看用户详细配额
edquota -u username

Disk quotas for user username(uid 1001):
  Filesystem                   blocks       soft       hard     inodes     soft     hard
  /dev/sda4                 106493560 1782579200 1887436800     964994        0        0

6.将配置复制给其他用户:

$sudo edquota -p sygan -u kqian

7.激活quota

$sudo quotaon /home/mnt1
$sudo quotaon /home/mnt2

8.查看是否激活成功:
$sudo quotaon -p /home/mnt1
$sudo quotaon -p /home/mnt2

9.宽限时间:

所谓宽限时间,即用户使用量大于soft值之后,在宽限时间内仍可继续使用磁盘,在宽限时间内限使用量降到soft值以下即可,系统默认为七天。本人没有试过在使用达到soft值之后,又没有在宽限时间内降回来会有什么后果。


  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Linux中,可以使用磁盘配额来限制用户或组的磁盘使用量。以下是设置用户磁盘配额的步骤: 1. 确认文件系统支持磁盘配额 在终端中输入以下命令,检查文件系统是否支持磁盘配额: ``` sudo grep -w "quota" /etc/fstab ``` 如果返回结果为空,则表示文件系统不支持磁盘配额。如果返回结果中包含了“quota”字样,则表示文件系统支持磁盘配额。 2. 安装磁盘配额管理工具 在终端中输入以下命令,安装磁盘配额管理工具: ``` sudo apt-get install quota ``` 3. 启用磁盘配额 在终端中输入以下命令,启用磁盘配额: ``` sudo quotacheck -cu /path/to/filesystem sudo quotaon /path/to/filesystem ``` 其中,/path/to/filesystem是要启用磁盘配额的文件系统路径。 4. 设置用户磁盘配额 在终端中输入以下命令,设置用户磁盘配额: ``` sudo setquota -u username block-softlimit block-hardlimit inode-softlimit inode-hardlimit /path/to/filesystem ``` 其中,username是要设置配额的用户名,block-softlimit和block-hardlimit是磁盘块的软限制和硬限制,inode-softlimit和inode-hardlimit是inode的软限制和硬限制,/path/to/filesystem是要设置配额的文件系统路径。 例如,要设置用户“john”的磁盘配额为100MB和150MB,inode配额为10000个和15000个,可以输入以下命令: ``` sudo setquota -u john 100000 150000 10000 15000 /dev/sda1 ``` 5. 查看用户磁盘配额 在终端中输入以下命令,查看用户磁盘配额: ``` sudo quota -u username ``` 其中,username是要查看配额的用户名。 以上就是设置用户磁盘配额的步骤。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值