Linux 如何进行磁盘配额 quota 的设置
通过 quota 进行磁盘配额,可以控制用户对磁盘空间和文件的控制,我们以一个实例作为说明,对2个用户 user01、user02 分别进行磁盘使用空间和创建文件的限制。
首先,创建一个新的分区,将 /tmp 挂载在新的分区。
#fdisk /dev/hda 创建后执行:
#partprobe 重新写分区表
#mkfs –t ext3 /dev/hda7 格式化分区
#mount /dev/hda7 /tmp 将 /tmp 挂载到 hda7 分区
修改分区表
#vi /etc/fstab 增加 usrquota,grpquota /dev/hda7 /tmp ext3 defaults, usrquota,grpquota 0 0 创建用户
#useradd user01 #useradd user02 #cd /tmp #mount –o remount /tmp #quotacheck –cvug /tmp #quotaon –vug /tmp 开启 quota Quota 会在 /tmp 目录下自动创建 quota.user quota.group 对用户 user01 进行磁盘空间使用限制
#edquota –u user01 修改 quota 配置文件
Block limits File limits User used soft hard timeleft used soft hard timeleft userq -- 0 5000 8000 0 0 0 Block limits 是对磁盘空间使用的限制,以字节为单位,soft 是指软限制,hard 是指硬限制,如例,soft 限制为 5MB,hard 限制为 8MB,当用户 user01 使用空间超过 5MB 时,系统会进行提示,但可以继续使用空间,而当用户 user01 使用空间达到 8MB 时,就会限制用户 user01 继续使用 /tmp 空间
我们可以进行一下测试,手动创建相对大的文件:
#dd if/dev/zero of=user01file bs=1M count=4 将创建成功
#dd if/dev/zero of=user01file bs=1M count=6 将创建成功,但会有提示
#dd if/dev/zero of=user01file bs=1M count=9 将创建失败,超出 hard 限制
对用户 user02 进行创建文件使用限制
#edquota –u user02 修改 quota 配置文件
Block limits File limits User used soft hard timeleft used soft hard timeleft userq -- 0 0 0 0 50 80 File limits 是对用户创建文件的限制,soft 和 hard 同上是软限制和硬限制,分别是 50、80,当用户 user02 创建文件超过 50 个时,系统会进行提示,但仍可以继续创建文件,而当用户 user02 创建文件超过 80 个文件时,就会限制用户 user02 继续创建文件,但要注意,因为用户 user02 是在 /tmp 目录下进行了磁盘配额限制,所以 /tmp 目录会算做一个文件,所以 user02 最多只能创建 79 个文件。
我们可以进行一下测试,手动创建文件:
#for i in $(seq 1 60);do echo “user02file$i”;touch user02file$i;done 创建 60 个文件,此时 quota 会进行提示,而当超过 80 个文件的时候,quota 就会限制用户 user02 继续创建文件
#edquota –t 可以设置 timeleft 的值,在这里我们都设定为 2 分钟,重复上面的例子,用户 user02 创建 60 个文件,此时会出现 quota 的提示,但仍可以创建文件,但当我们等待 2 分钟后,你会发现,user02 已经不能再进行创建文件了,这里就是 timeleft 的作用,就是当你超过 soft 限制时,设定有效的时间。
其他相关命令
#repquota 重载 quota 设置
#quota –v 察看 quota 设置
#quota on/off quota 开启 / 关闭
这样我们就可以对用户进行相应的限制了。
# mount /dev/hda7 /tmp 将 /tmp 挂载到 hda7 分区
这种方法比较巧,可以杜绝任何用户都可以无限制任意使用 /tmp 资源。
(责任编辑:凌云通)
Linux 系统下如何进行磁盘配额 Quota 的设置
最新推荐文章于 2023-08-27 20:30:34 发布