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
 --------------------------------------------------------------------------------------------------------------------------------------

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
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 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、付费专栏及课程。

余额充值