iis服务器助手广告广告
返回顶部
首页 > 资讯 > 操作系统 >linux中如何给磁盘配额
  • 685
分享到

linux中如何给磁盘配额

2023-06-13 04:06:45 685人浏览 泡泡鱼
摘要

这篇文章主要为大家展示了“linux中如何给磁盘配额”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“linux中如何给磁盘配额”这篇文章吧。磁盘配额(quota)比较常用的几个情况是:* 针对WW

这篇文章主要为大家展示了“linux中如何给磁盘配额”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“linux中如何给磁盘配额”这篇文章吧。

磁盘配额(quota)比较常用的几个情况是:

* 针对WWW server,例如:每个人的网页空间的容量限制

* 针对mail server,例如:每个人的邮件空间限制

* 针对file server:每个人最大的可用网络硬盘空间(教学环境中比较常见)

上面的是针对网络服务的设计,如果是针对linux系统主机上面的设置,用途有下面这些:

* 限制某一用户组最大磁盘配额,可用设置普通用户组和VIP用户组,有点类似会员制,VIP用户相应的磁盘空间大小比较大些,普通用户想成为VIP,嘿嘿,交会费就行。

*  限制某一用户磁盘配额,在对用户组进行限制后,继续对该用户组的每个用户进行设置,可以使用户组下有更公平的分配。

* 以Link方式使邮件可以作为限制的配额(更改/var/spool/mail这个路径)

 ====Quota的规范设置选项====

* 限制文件数量或者容量(inode或者block),以block设置为常见

* soft/hard,hard > soft,超过soft后,在grace time(宽限时间)内登陆系统后会给出磁盘爆满的警告

* 会倒计时的宽限时间 grace time,如果过了这个时间还没降到比soft低,直接定磁盘使用,并且hard减少为soft值。

坐而言不如起而行,先来设计一个实际的quota例子:

* 五个人的账号分别为user1,user2,user3,user4,user5,密码都是123456,初始用户组都为quotagroup,其他账号属性为默认。

* 账号的磁盘容量限制:五个用户都能够取得300MB的磁盘使用量(hard),文件数量不予限制。此外,只要容量超过250MB时候给予警告(soft)

* 用户组的限额:由于我的系统里面可能还有其他用户存在,我仅承认quotagroup这个组最多使用1GB的容量。也就是说,如果user1,user2,user3都用了280MB的空间,那么user4,user5就只能使用1000MB – 280MB*3 = 160MB的空间了。

* 宽限日期:14天,达到250MB的soft值后,14天内给予警告,如果14天内磁盘容量还没降到比250MB低,直接锁定用户。丫的叫你放电影到硬盘上又不删。

建立5个账号的shell脚本:


代码如下:


#!/bin/bash
# 使用script新建实验quota所需的环境
groupadd quotagroup
for username in user1 user2 user3 user4 user5
do
       useradd -g quotagroup $username
       echo "123456" | passwd --stdin $username
done

接下来实践下quota流程:

# df -h /home

文件系统        容量  已用  可用 已用% 挂载点
/dev/sda3        69G  4.4G   62G    7% /

因为我用的虚拟机,自动被分区,只有一个根分区/挂载sda3文件系统,所以我会针对/来进行,不过一般来讲不建议直接在/下面设置quota。

# mount | grep ‘\s/\s’

/dev/sda3 on / type ext4 (rw,relatime,seclabel,user_xattr,barrier=1,data=ordered)

通过查看/dev/sda3的数据知道是哦那个ext4文件系统,那么肯定支持quota

修改配置文件/etc/fstab,让/支持quota:

UUID=2f08675e-289a-404a-a13e-4802dec910e9 /                       ext4    defaults,usrquota,grpquota        1 1

重点在上面粗体显示的usrquota,grpquota

# umount / (我勒个擦,根目录你怎么umount,还是重启吧)

# mount -a

# mount | grep “\s/\s”

/dev/sda3 on / type ext4 (rw,relatime,seclabel,user_xattr,barrier=1,data=ordered,usrquota,grpquota)

看到了吧,可以针对用户组和用户进行磁盘配额了。

====新建quota配置文件====

# quotacheck [-avugfM] [/mount_point]

-a:扫描所有在/etc/mtab内,含有quota支持的文件系统,加上此参数后,后面的/mount_point就不用写了

-u:针对用户扫描文件与目录使用情况,会新建aquota.user

-g:针对用户组扫描文件与目录使用情况,会新建aquota.group

-v:显示扫描过程信息

-f:强制扫描文件系统,并写入quota配置文件(危险,慎用)

-M:强制以读写方式扫描文件系统,只有在特殊情况下才会使用。

实际上只需要记住前面四个参数 -augv即可。

# ll -d /a*

-rw——-. 1 root root 8192 10月 27 02:06 /aquota.group
-rw——-. 1 root root 7168 10月 27 02:06 /aquota.user

不要手动去修改这两个quota配置文件啊,这个是quota自己去更新的。

====quota启动、关闭与限制值的设置====

# quotaon [-avug]  <===启动quota服务

# quotaon [-vug] /mount_point

上面的参数跟之前的一模一样,这个命令只需要执行一次,下次系统启动后会自动再执行的

# quotaoff [-a]  <===关闭quota服务

# quotaoff [-ug] /mount_point

# edquota [-u username] [-g groupname]  <===编辑quota的宽限值

# edquota -t <===修改宽限时间

# edquota -p 范本账号 -u 新账号

这些都很简单,不解释

# edquota -u user1

Disk quotas for user user1 (uid 1002):
Filesystem                   blocks       soft       hard     inodes     soft     hard
/dev/sda3                        28          0          0            8                0        0

解释下这七个字段:

1,文件系统,或者是partition

2,磁盘容量(blocks):这个是quota自己自动算出来的,单位为KB,不要改动它

3,soft:磁盘容量(block)的soft限制值,单位为KB

4,hard:block的hard限制值,单位为KB

5,文件数量(inodes):这个也是quota自己自动算出来的,单位为个,不要改动它

6,soft:inode的soft值

7,hard:inode的hard值

我把它修改成如下的:

Disk quotas for user user1 (uid 1002):
Filesystem                   blocks       soft       hard             inodes     soft     hard
/dev/sda3                        28       250000     300000      8             0        0

注意:我用的1000去近似1024,方便点,其实真正的250MB = 250 * 1024KB,这么说你了解麽 o(╯□╰)o

还有其他四个用户,直接参考copy user1的设置就可以了。

# edquota -p user1 -u user2

# edquota -p user1 -u user3

# edquota -p user1 -u user4

# edquota -p user1 -u user5

更改用户组的quota限额:

# edquota -g quotagroup

Disk quotas for group quotagroup (gid 1002):
Filesystem                   blocks       soft             hard               inodes     soft     hard
/dev/sda3                       140        900000     1000000       35             0           0

最后,将宽限时间改成14天吧:

# edquota -t

Grace period before enforcing soft limits for users:
Time units may be: days, hours, minutes, or seconds
Filesystem             Block grace period     Inode grace period
/dev/sda3                     14days                  7days

到这步,所有的设置都已经完成,接下来验收成果:

====quota限制值的报表====

单一用户/用户组的quota报表:

# quota [-uvs] username列表

# quota [-gvs] groupname列表

-u:后接用户名,不填表示当前用户

-g:后接用户组

-v:显示每个用户或者用户组在文件系统中的quota值

-s:使用好看的单位,比如M之类的

# quota -uvs user1 user2

Disk quotas for user user1 (uid 1002):
Filesystem   space   quota   limit   grace   files   quota   limit   grace
/dev/sda3     28K    245M    293M               8       0       0
Disk quotas for user user2 (uid 1003):
Filesystem   space   quota   limit   grace   files   quota   limit   grace
/dev/sda3     28K    245M    293M               8       0       0

针对整个文件系统的报表:

# repquota -a [-vugs]

-a:直接到/etc/mtab查询具有quota标志的文件系统,并报告quota结果

-v:输出的数据将含有文件系统相关的详细信息

-u:显示出用户的quota限制(这个是默认值)

-g:显示个别用户组的quota限制值

-s:使用K,M,G的单位显示

测试下实际效果:

# su &ndash; user1

# dd if=/dev/zero of=bigfile bs=1M count=270

# repquota -auv

dd if=/dev/zero of=bigfile2 bs=1M count=300

dd: 正在写入”bigfile2&Prime;: 超出磁盘限额
记录了23+0 的读入
记录了22+0 的写出
24047616字节(24 MB)已复制,0.648835 秒,37.1 MB/秒

# du -sk

300000  .  <===果然到了极限

[user1@(none) ~]$ ll
总用量 299968
-rw-r&ndash;r&ndash;. 1 user1 quotagroup 283115520 10月 27 02:42 bigfile
-rw-r&ndash;r&ndash;. 1 user1 quotagroup  24047616 10月 27 02:44 bigfile2

当用户超过了soft,然后再宽限日期又没有删除空间,导致用户的hard变成了原来的soft,用户再也使用不了磁盘,那么怎么办呢。当然是进去删除文件就行了啊。不过很多用户不知道怎么回事,最好在用户超过限额(soft)后给用户发警告信:

# warnquota  (fedora上面没有这个命令,囧!)

==== 不改动既有系统的quota实例(link方式)====

如果/var/spool/mail不是一个独立分区,你想让用户邮件信箱与主文件夹的总体 磁盘使用量固定,但/home是单独的文件系统,跟/var/spool/mail不一样。

可以这样解决:

1,将/var/spool/mail这个目录整个完整的移动到/home下面

2,建立连接 # ln -s /home/mail /var/spool/mail,那么现在所有往/var/spool/mail里面放的数据全部放到/home/mail里面去了。

3,将/home/进行quota限额设置

注意,进行以上设置的时候,可能需要关闭SELinux

以上是“linux中如何给磁盘配额”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网操作系统频道!

--结束END--

本文标题: linux中如何给磁盘配额

本文链接: https://www.lsjlt.com/news/265214.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • linux中如何给磁盘配额
    这篇文章主要为大家展示了“linux中如何给磁盘配额”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“linux中如何给磁盘配额”这篇文章吧。磁盘配额(quota)比较常用的几个情况是:* 针对WW...
    99+
    2023-06-13
  • Linux系统如何设置磁盘配额
    这篇“Linux系统如何设置磁盘配额”除了程序员外大部分人都不太理解,今天小编为了让大家更加理解“Linux系统如何设置磁盘配额”,给大家总结了以下内容,具有一定借鉴价值,内容详细步骤清晰,细节处理妥当,希望大家通过这篇文章有所收获,下面让...
    99+
    2023-06-28
  • Linux中怎么设置磁盘配额
    这期内容当中小编将会给大家带来有关Linux中怎么设置磁盘配额,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。先决条件为了最有效地利用本系列中的文章,您应该具有基本的 Linux 知识,并需要准备一个 Li...
    99+
    2023-06-16
  • 如何解决Linux磁盘配额配置问题
    这篇文章主要介绍了如何解决Linux磁盘配额配置问题,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。查看quota软件包是否安装#rpm -q quota修改配置文件“fsta...
    99+
    2023-06-17
  • linux磁盘配额的示例分析
    这篇文章主要介绍linux磁盘配额的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!配额又称为限额,针对的是分区,不是用户也不是文件,更不是整个硬盘; 2.内核版本必须是2.4以上才支持;查看内核是否支持配额。...
    99+
    2023-06-13
  • 如何配置redhat下的磁盘配额
    这篇文章主要介绍“如何配置redhat下的磁盘配额”,在日常操作中,相信很多人在如何配置redhat下的磁盘配额问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何配置redhat下的磁盘配额”的疑惑有所帮助!...
    99+
    2023-06-10
  • linux磁盘配额大小怎么设置
    这篇文章主要介绍“linux磁盘配额大小怎么设置”,在日常操作中,相信很多人在linux磁盘配额大小怎么设置问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”linux磁盘配额大小怎么设置”的疑惑有所帮助!接下来...
    99+
    2023-06-10
  • linux磁盘配额的含义是什么
    这篇“linux磁盘配额的含义是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“linu...
    99+
    2023-02-07
    linux
  • 如何进行正确的CentOS磁盘配额
    如何进行正确的CentOS磁盘配额,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。正确的CentOS磁盘配额,才可以让CentOS磁盘正常的工作,那么如何进行Ce...
    99+
    2023-06-16
  • Redhat Linux系统下磁盘配额的设置方法
    本篇内容主要讲解“Redhat Linux系统下磁盘配额的设置方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Redhat Linux系统下磁盘配额的设置方法”吧!配额可以使各个用户和组无法占...
    99+
    2023-06-10
  • 如何解决overlay2存储驱动的磁盘配额问题
    这篇文章主要为大家展示了“如何解决overlay2存储驱动的磁盘配额问题”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何解决overlay2存储驱动的磁盘配额问题”这篇文章吧。为啥要用over...
    99+
    2023-06-04
  • 如何使用Pureftpd进行FTP权限和磁盘配额管理
    这篇文章主要讲解了“如何使用Pureftpd进行FTP权限和磁盘配额管理”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何使用Pureftpd进行FTP权限和磁盘配额管理”吧!Pureftp...
    99+
    2023-06-16
  • windows Server 2003设置磁盘配额操作图解
      在Windows Server 2003系统中,对于拥有共享文件夹写入权限的用户而言,默认情况下可以无限制地向共享文件夹中写入数据。这种任意性可能导致共享文件夹所在磁盘分区空间紧张,因此为了保证所有用户都能正常使用共...
    99+
    2023-05-30
    磁盘配额 windows Server 2003 磁盘 配额
  • 如何用GParted给linux系统进行磁盘分区
    这篇文章将为大家详细讲解有关如何用GParted给linux系统进行磁盘分区,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。GParted是一款非常好用的linux系统磁盘分区工具,那么,GP...
    99+
    2023-06-05
  • linux如何重新分配磁盘空间
    在Linux中,可以使用以下步骤重新分配磁盘空间:1. 使用fdisk或parted等工具对磁盘进行分区,创建新的分区。可以使用以下...
    99+
    2023-09-28
    linux
  • 怎么给linux增加磁盘容量
    要给Linux增加磁盘容量,可以执行以下步骤:1. 打开终端窗口,以root用户或具有管理员权限的用户身份登录。2. 使用命令`fd...
    99+
    2023-10-12
    linux
  • Linux如何挂载磁盘
    本篇内容主要讲解“Linux如何挂载磁盘”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Linux如何挂载磁盘”吧!挂接命令(mount)首先,介绍一下挂接(mount)命令的使用方法,mount...
    99+
    2023-06-28
  • linux如何查询磁盘
    这篇“linux如何查询磁盘”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“linux如何查询磁盘”文章吧。在linux中,可...
    99+
    2023-06-29
  • Linux磁盘如何管理
    这篇“Linux磁盘如何管理”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Linux磁盘如何管理”文章吧。Linux磁盘管理...
    99+
    2023-06-30
  • 如何给win7系统磁盘进行加密
    这篇文章主要介绍“如何给win7系统磁盘进行加密”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“如何给win7系统磁盘进行加密”文章能帮助大家解决问题。步骤/方法:桌面上双击打开我的电脑。如图所示:&...
    99+
    2023-06-28
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作