Linux中磁盘配额的设置

简介:

     磁盘配额是管理员为普通用户设置的使用磁盘的限制,每个用户只能使用有限的磁盘空间。通过磁盘配额的设置,管理员可以很清楚的了解到每个用户的磁盘使用情况。同时,也避免了某些用户因为存储垃圾文件浪费磁盘空间导致其他其他用户无法正常工作。

 
    在linux中我们只能使用超级管理员root用户进行磁盘配额的设置,并且磁盘配额是基于文件系统的,也就是必须在文件系统上配置磁盘配额。我们可以对用户或组的所能使用的空间大小或是创建的文件个数进行限制。限制可以分为两种:
    1,软限制:当用户或组所分配的空间占满以后,在一定的宽限期内可以超出容量但是系统会给处警告,并在宽限期过后强制收回空间。
    2,硬限制:当用户或组所分配的空间占满以后,就不能在存储数据。
 
    下面我们来说说怎么启用磁盘配额:
     1,为要启用的磁盘配额文件系统设定挂载选项
     例如:我们新建的分区为/dev/sda2,格式化为ext3文件系统,挂载到/myquota这个目录
 
     fdisk /dev/sda
     新建分区
 
     mke2fs -j /dev/sda2
     把此分区格式化为ext3文件系统
     
     mkdir /myquota   
 
     chown username:username /myquota  
     因为我们是用root用户建立的目录,而要对username用户在这个目录中设置磁盘配额,则这目录的属主属组要该为username
 
     vi /etc/fstab  添加如下行 
     /dev/sda2  /myquota    ext3   defaults,usrquota 0 0
     表示把/dev/sda2这个分区挂载到/myquota下,并启用用户磁盘配额,这个文件只有系统启动的时候才会被读取(如果要启用组磁盘配额,则把defaults,usrquota改为defaults,grpquota)
    
     mount -a  
     挂载/etc/fstab中所有没有挂载的文件系统,这就使我们刚才在/etc/fstab中添加的行生效了。
 
     注:{ 如果是对/etc/fstab中已有的文件系统设置,除了把对应文件系统条目的defaults改为"defaults,usrquota"外,还需要执行命令
          mount -o remount,usrquota /myquota  
          重新挂载/myquota,启用用户配额(把remount,usrquota改为remount,grpquota则是是启用组配额)
          }
 
     2.创建配额的数据库
     quotacheck -cmu /myquota
     在/myquota中会生成用户的数据库文件aquota.user
     -c 创建新的数据库文件
     -m 不将此文件系统挂载为只读
     -u 设定用户配额数据库  
     -g 设定组配额数据库
 
      3,启用对应文件系统上磁盘配额的功能
      quotaon /myquota  启用
      quotaoff /myquota 关闭
      quota -a          启用所有磁盘配额
 
      4,设定用户配额或组配额
      我们这里还以设定用户配额为例,组配额设置与此相同.
      edquota -u username 对username这个用户设定配额,打开的是一个vi界面
      edquota -g groupname 对groupname这个组设定配额
      显示如图:

      Filesystem 文件系统
      blocks 已经使用的块数(块的单位为1K)
      soft 块数软限制,0表示禁用
      hard 块数硬限制,0表示禁用
      inodes 已经创建的文件个数,如果后面有*表示已经超出软限制
      soft 创建的文件个数的软限制,0表示禁用
      hard 创建的文件个数的硬限制,0表示禁用
 
      edquota -p username username1 
      把username用户的设定复制给username1用户
 
      edquota -t 
      设定宽限期,默认为7天,可以用days,weeks,months等     

      Filesystem:文件系统
      Block grace period:块数超出后的宽限期
      Inode grace period:文件数超出的宽限期
 
      quota username
      显示此用户磁盘配额使用情况的摘要信息    

      Filesystem 文件系统
      blocks 已经使用的块数(*表示已经超出软限制)
      quota 块数软限制,0表示未启用
      limit 块数硬限制,0表示未启用
      grace 超出块数的宽限期
      files 已经创建的文件个数,如果后面有*表示已经超出软限制
      quota 创建的文件个数的软限制,0表示未启用
      limit 创建的文件个数的硬限制,0表示未启用
      grace 超出所能创建的文件个数的宽限期   
 
      repquota /myquota
      显示使用磁盘配额的文件系统的所有相关用户的摘要信息

     user:表示用户
     --:  --表示没有超出相应限制;如果出现 +- 表示超出了块限制,- + 表示  超出了文件个数限制
     userd:此用户已经使用的块数
     soft:软限制(单位是块)
     hard:硬限制(单位是块)
     grace: 此用户超出块数的宽限期
     used:此用户已经创建的文件个数
     soft:软限制(单位是文件个数)
     hard:硬限制(单位是文件个数)
     grace:此用户超出文件个数的宽限期
 
     warnquota 
     这个命令用于对那些设置磁盘配额的并且已经超出软限制的用户,以邮件的形式发送警告信息









本文转自 leejia1989 51CTO博客,原文链接:http://blog.51cto.com/leejia/796282,如需转载请自行联系原作者
目录
相关文章
|
1天前
|
监控 Oracle 关系型数据库
Linux平台Oracle开机自启动设置
【11月更文挑战第8天】在 Linux 平台设置 Oracle 开机自启动有多种方法,本文以 CentOS 为例,介绍了两种常见方法:使用 `rc.local` 文件(较简单但不推荐用于生产环境)和使用 `systemd` 服务(推荐)。具体步骤包括编写启动脚本、赋予执行权限、配置 `rc.local` 或创建 `systemd` 服务单元文件,并设置开机自启动。通过 `systemd` 方式可以更好地与系统启动过程集成,更规范和可靠。
|
2天前
|
Oracle Ubuntu 关系型数据库
Linux平台Oracle开机自启动设置
【11月更文挑战第7天】本文介绍了 Linux 系统中服务管理机制,并详细说明了如何在使用 systemd 和 System V 的系统上设置 Oracle 数据库的开机自启动。包括创建服务单元文件、编辑启动脚本、设置开机自启动和启动服务的具体步骤。最后建议重启系统验证设置是否成功。
|
12天前
|
关系型数据库 MySQL Linux
Linux系统如何设置自启动服务在MySQL数据库启动后执行?
【10月更文挑战第25天】Linux系统如何设置自启动服务在MySQL数据库启动后执行?
60 3
|
1月前
|
Unix Linux 对象存储
Linux 磁盘管理
Linux 磁盘管理
32 1
|
1月前
|
Ubuntu Linux
Linux实践|设置静态 IP 地址
Linux实践|设置静态 IP 地址
55 0
Linux实践|设置静态 IP 地址
|
2月前
|
存储 Linux 5G
Linux 基于 LVM 逻辑卷的磁盘管理【简明教程】
这篇文章介绍了LVM(逻辑卷管理)如何提供灵活的磁盘管理方式,允许动态调整逻辑卷的大小而不会丢失数据。
Linux 基于 LVM 逻辑卷的磁盘管理【简明教程】
|
1月前
|
Linux 应用服务中间件 nginx
Linux下权限设置之suid、sgid、sticky
Linux下权限设置之suid、sgid、sticky
|
1月前
|
监控 Linux 测试技术
Linux系统命令与网络,磁盘和日志监控总结
Linux系统命令与网络,磁盘和日志监控总结
52 0
|
1月前
|
监控 Linux 测试技术
Linux系统命令与网络,磁盘和日志监控三
Linux系统命令与网络,磁盘和日志监控三
37 0
|
2月前
|
Linux Shell
10-8|linux date设置时间
10-8|linux date设置时间