linux 安装quota,Linux下使用quota工具为用户配置磁盘配额

介绍:

Linux是多用户多任务的操作系统,这就难免出现多个用户共享磁盘的情况,如何使多个用户公平的使用磁盘,就是磁盘配置要解决的问题。当然也可以在每创建一个用户的时候,将它的主目录建在一个单独的逻辑分区上,但是这样太麻烦了,也不灵活。

本文以针对用户的磁盘配额配置为例,演示磁盘配额的配置流程。

操作步骤:

1、安装quota软件包

[root@localhost ~]# yum install -y quota

2、给指定分区开启磁盘配额功能

编辑/etc/fstab(此文件负责记录文件系统信息)

[root@localhost ~]# vim /etc/fstab

如下图(看第一个分区),给想要开启磁盘配额的分区的挂载方式后面加上,usrquota,grpquota,其中usrquota是开启用户磁盘限额,grpquota是开启组磁盘限额。

47d20bc20898e7892843db5e9e9abf2b.png

保存并退出此文件后配置并未生效,还需要重新挂载磁盘。

[root@localhost ~]# mount -o remount /

3、扫描所有支持磁盘配额的分区并在其根目录生成相应的配置文件

[root@localhost ~]# quotacheck -avugm

上面的命令中,参数a 扫描/etc/fstab中所有支持磁盘配额的分区,v 显示指令执行过程,u 生成用户磁盘配额配置文件,g 生成组用户配置文件,m 强制扫描(有的时候不加m会报错,最好加上)。

记得把selinux关上再执行此命令。

fca35220f0136ee15452ca194f76af7c.png

执行完可以查看下分区挂载的目录中出没出现aquota.group(组磁盘配额配置文件)、aquota.user(用户磁盘配额配置文件)这两个配置文件,有就代表成功了。

当然这两个文件不一定都有,因为你有可能在执行命令的时候指定只生成用户磁盘配额配置文件,那就看不到组磁盘配额配置文件了。

790cc7e820779f883a67dbcaf5863c6f.png

4、为用户/组设置磁盘配额大小

[root@localhost ~]# edquota -u 接用户名 //为用户配置磁盘配额

[root@localhost ~]# edquota -g 接组名 //为组配置磁盘配额

7ea7449d5faee763848a00d455bfdafb.png

命令执行后会自动使用vi/vim文本编辑器打开对应配置文件,下面是对此配置文件中各个区域的解释(顺序,从左到右)。

Filesystem 文件系统

blocks 已经使用的块数(块的单位为1K)

soft 块数软限制,0表示禁用

hard 块数硬限制,0表示禁用

inodes 已经创建的文件个数,如果后面有*表示已经超出软限制

soft 创建的文件个数的软限制,0表示禁用

hard 创建的文件个数的硬限制,0表示禁用

其中软限制的额度在达到后会弹出警告,如果用户在宽限期(默认7天)内还未删除超出部分的文件,软限制就会转为硬限制,阻止用户继续写入数据。

可以通过如下命令修改宽限期。

[root@localhost ~]# edquota -t

407f531dfa210b97ebcfac95aac8e064.png

如上图可以看到,Block grace period(块的宽限期)对应值是7days(七天),Inode grace period(文件数量的宽限期)对应值也是7days(7天),这里直接修改对应值即可。上图中因为我的设备名称比较长,所以文字排版乱了,导致值和选项没有对应起来,但不影响其生效。

修改后保存并退出。

此外,所涉及到容量的配置部分的计算单位都是KB,比如上图中容量的hard值我设置成了20480,这个数值的单位就是KB,可以换算成20MB。

修改后,保存并退出。

如果有多个账户需要设定相同的磁盘配额则可以使用edquota搭配-p参数实现,例如:

[root@localhost ~]# edquota -p user1 user2 将user1的磁盘配额配置复制给user2。

5、开启磁盘配额功能

quotaon 接需要开启磁盘配额功能的分区所挂载的目录,例如本实验中分区挂载到了根目录,则执行如下命令开启该分区的磁盘配额。

[root@localhost ~]# quotaon /

关闭磁盘配额:

[root@localhost ~]# quotaoff /

6、测试

切换为被设置了磁盘配额的用户身份,本实验中是user1。

[root@localhost ~]# su - user1

进入用户邮箱目录(本实验中/var/mail目录存在于根目录所挂载的磁盘上,所以根目录的磁盘限额对其有效)。

[root@localhost ~]# cd /var/mail

写1G的数据到user1的邮箱中。

[root@localhost mail]# dd if=/dev/zero of=user1 bs=1M count=1000

6abca10dbfd4a6a48b9550f849004d5a.png

可以看到,弹出提示说超出磁盘限额了。

查看下user1用户的邮箱现在的大小,正好是20MB。

[root@localhost mail]# ll -h user1

b6f59140df0b4644d10a3f67db867c31.png

最后记得清空邮箱中的数据哦。

[root@localhost mail]# echo '' > user1

  • 4
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,让我来回答关于 Linux 配置 quota 的问题。 在 Linux 操作系统中,通过 配置 quota磁盘配额)可以限制特定用户或组的磁盘使用量。这对于系统管理员来说非常有用,因为它可以帮助他们确保每个用户或组使用了适当的磁盘空间。 有两种类型的 quota: 1. 硬限制(hard limit):超过此限制的用户将无法再创建新的文件或者添加内容到现有文件中。 2. 软限制(soft limit):在此限制之上,用户仍然可以创建文件,但是会收到警告消息。 下面是一些步骤可以帮助你在 Linux配置磁盘配额: 1. 首先,需要确保在 /etc/fstab 文件中启用 quota。你可以使用如下命令来检查它是否启用: ``` grep " / " /etc/fstab ``` 如果 quota 可用,就会显示对应的挂载选项为 "usrquota" 或 "grpquota"。 2. 接下来,需要重新挂载文件系统以启用 quota: ``` mount -o remount / ``` 3. 接下来,使用 quotacheck 命令初始化 quota 数据库: ``` quotacheck -cug / ``` 这个命令将扫描整个文件系统,为每个用户和组创建一个 quota 数据库。如果你想跳过其中某个目录,可以将目录添加到 /etc/quotatab 文件中。 4. 使用 edquota 命令为每个用户或组设置硬限制和软限制: ``` edquota -u username ``` 或者: ``` edquota -g groupname ``` 此命令将打开一个文本编辑器,允许你设置 quota 限制。按照提示输入硬限制和软限制,并保存文件。 5. 最后,重启 quota 服务: ``` service quota restart ``` 现在,你的 Linux 系统就配置好了磁盘配额。如果你要添加新用户或组并给他们分配 quota,则可以使用上述步骤 4。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值