CentOS6.8下实现配置配额

  Linux系统是支持多用户的,即允许多个用户同时使用linux系统,普通用户在/home/目录下均有自己的家目录,在默认状态下,各个用户可以在自己的家目录下任意创建文件,而不用担心内存。作为系统管理员,为了防止各个用户占用太多的空间,可以为各个普通用户设置配置配额,即设置各个用户的文件占用的空间大小。
 
       本文以硬盘/dev/sdb为例设置配置配额:
 
 

实验

  1.添加一块硬盘/dev/sdb,大小20G, 也可以用大一点的硬盘,分区成20G

 
1.  [root@vathe-pc ~]#lsblk /dev/sdb     
2.  NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT    
3.  sdb    8:16   0  20G  0 disk    
 

  2. 格式化硬盘(如果你使用分区,就直接格式化分区)

 
1.  [root@vathe-pc ~]#mkfs.ext4 /dev/sdb   
  3.  创建挂载目录
 
1.  [root@vathe-pc ~]#mkdir /mnt/sdb  
 
  4. 挂载文件系统
 
  修改/etc/fstab目录,把/dev/sdb 挂载上,注意添加usrquota挂载选项,该选项意为支持用户配额
1.  UUID=fa2f12ad-6195-47fe-8792-a8a9000cd44c /   ext4  defaults  1 1  
2.  UUID=cd3afad0-4731-442d-8fc2-d9ae95f1a1cc /boot   ext4   defaults    1 2  
3.  UUID=6afc5ea4-27c7-4d52-bd0f-ca410a2da379 /home  ext4   defaults  1 2  
4.  UUID=daaff10f-aa8b-43d8-bc06-e4b82a905886 /mnt/sdb  ext4  usrquota   0 0  
 
 
  使用mount –a 让挂载生效,使用df –h 命令查看是否生效
 
1.  [root@vathe-pc ~]#df -h  
2.  Filesystem      Size  Used Avail Use% Mounted on  
3.  /dev/sda6       166G  3.6G  154G   3% /  
4.  tmpfs           491M   72K  491M   1% /dev/shm  
5.  /dev/sda1       190M   34M  147M  19% /boot  
6.  /dev/sda2        20G   44M   19G   1% /data  
7.  /dev/sda3       9.8G  130M  9.1G   2% /home  
8.  /dev/sdb         20G   44M   19G   1% /mnt/sdb  
//第8行显示 /dev/sdb文件系统已挂载在/mnt/sdb目录上
 
  5. 对/mnt/sdb设置配置配额,终于快接近尾声了,-> ->
        
    • 初始化配额数据库
1.     [root@vathe-pc ~]#quotacheck /mnt/sdb/  
    • 查看数据库是否生成成功,是否生成aquota.user文件
1.     [root@vathe-pc sdb]#ls /mnt/sdb/  
2.  aquota.user  lost+found  
    • 编辑配置数据库
    • 设置vathe的配置配额
 
1.  [root@vathe-pc sdb]#edquota vathe  
 
1.  Disk quotas for user vathe (uid 500):  
2.    Filesystem   blocks   soft   hard   inodes     soft     hard  
3.    /dev/sdb       0     50000   60000     0       30        40  
#  设置:使用block数目到达50000kb时,发送警告,到达60000kb时,禁止添加内容
#  同样,当inode使用数目达到30,发送警告,达到40,禁止新建文件
Filesystem: 文件系统
blocks:已使用的块大小,以kb为单位
inode:已使用的inode个数
soft:块设备(或inode)使用数目,预警额度   
hard: 块设备(或inode)使用数目,禁止额度
 
    • 开启配置限额
1.  [root@vathe-pc sdb]#quotaon /dev/sdb   
 
 

测试

  • 在/mnt/sdb/目录下创建vathe_f/目录,且属主为vathe,切换到vathe用
 
1.  [vathe@vathe-pc sdb]$pwd              #   查看当前目录
2.  /mnt/sdb                        
3.  [vathe@vathe-pc sdb]$whoami      #   查看当前用户,必须是配置配额设定的用户
4.  vathe  
5.  [vathe@vathe-pc sdb]$ll         
6.       #   查看vathe用户可以使用的目录,确保vathe可以在该目录或其子目录中写入数据
7.  total 28  
8.  -rw------- 1 root  root   7168 Apr 17 17:43 aquota.user  
9.  drwx------ 2 root  root  16384 Apr 17 17:07 lost+found  
10. drwxr-xr-x 2 vathe vathe  4096 Apr 17 18:05 vathe_f   # 该目录属主为vathe
11. [vathe@vathe-pc sdb]$cd vathe_f/  
 
  • 使用edquota USER 可以查看、设置用户USER的配额限度和使用进度
 
1.  [vathe@vathe-pc vathe_f]$edquota vathe  
 
  查看结果
1.  Disk quotas for user vathe (uid 500):  
2.    Filesystem    blocks       soft       hard     inodes     soft     hard  
3.    /dev/sdb      4            50000      60000          2       30       40  
4.  # block设备使用量为4kb
 
  • 尝试创建file文件,并写入40M数据
 
1.  [vathe@vathe-pc vathe_f]$dd if=/dev/zero of=file bs=1M count=40  
2.  40+0 records in  
3.  40+0 records out  
4.  41943040 bytes (42 MB) copied, 0.0380665 s, 1.1 GB/s  
5.  ## 使用dd命令写文本,创建一个文本file,写入1M*40=40M文件,写入成功
 
    查看配额限度和使用进度
5.  Disk quotas for user vathe (uid 500):  
6.    Filesystem    blocks       soft       hard     inodes     soft     hard  
7.    /dev/sdb      40964      50000      60000          2       30       40  
8.  ## 使用了40964kb
 
 
 
  • 尝试创建file文件,并写入50M数据
1.  [vathe@vathe-pc vathe_f]$dd if=/dev/zero of=file bs=1M count=50  
2.  sdb: warning, user block quota exceeded.  
3.  50+0 records in  
4.  50+0 records out  
5.  52428800 bytes (52 MB) copied, 0.046946 s, 1.1 GB/s  
6.  # 写入1M*50=50M文件成功,但发出警告warning
  查看配额限度和使用进度
1.  Disk quotas for user vathe (uid 500):  
2.    Filesystem      blocks    soft       hard     inodes     soft     hard  
3.    /dev/sdb        51204      50000      60000          2       30       40  
4.   ## 使用额度51204kb,超过预警额度 此时还是可以写入文件的
5.      
 
  • 尝试创建file文件,并写入60M数据
 
1.  [vathe@vathe-pc vathe_f]$dd if=/dev/zero of=file bs=1M count=60  
2.  sdb: warning, user block quota exceeded.  
3.  sdb: write failed, user block limit reached.  
4.  dd: writing `file': Disk quota exceeded  
5.  59+0 records in  
6.  58+0 records out  
7.  61435904 bytes (61 MB) copied, 0.101161 s, 607 MB/s  
8.  #  显示写入60M数据失败  
 
查看quota配额使用量:
1.  Disk quotas for user vathe (uid 500):  
2.      Filesystem   blocks       soft       hard     inodes     soft     hard  
3.      /dev/sdb       60000      50000      60000          2       30       40  
尝试往file中写入内容:
1.  [vathe@vathe-pc vathe_f]$echo "heih" >> file   
2.  -bash: echo: write error: Disk quota exceeded    #  写入错误
3.  [vathe@vathe-pc vathe_f]$touch a                 #   创建文件成功
4.  [vathe@vathe-pc vathe_f]$  
 
当然也可以测试inode使用数量,这里不再赘述。
 

总结

  1. 配置配额是为了更好的分配文件系统使用空间,而对普通用户或群组限制使用额度。
  2. 配置配额是基于挂载文件而言,即必须使用挂载选项usrquota and/or grpquota。
  3. 配置配额可以单独限于普通用户,也可以单独限于群组,也可以同时对群组和用户进行限制。
  4. 配置配额可以对文件大小(block)进行限定,也可以对文件数目(inode)进行限定
 
 
 
 
 

CentOS6.8下实现配置配额的更多相关文章

  1. 【转载】CentOS6.5_X64下安装配置MongoDB数据库

    [转载]CentOS6.5_X64下安装配置MongoDB数据库 2014-05-16 10:07:09|  分类: 默认分类|举报|字号 订阅      下载LOFTER客户端 本文转载自zhm&l ...

  2. CentOS6.5下安装配置MySQL

    CentOS6.5下安装配置MySQL,配置方法如下: 安装mysql数据库:# yum install -y mysql-server mysql mysql-deve 查看mysql-server ...

  3. CentOS6.5下安装配置MySQL数据库

    一.MySQL简介 说到数据库,我们大多想到的是关系型数据库,比如MySQL.Oracle.SQLServer等等,这些数据库软件在Windows上安装都非常的方便,在Linux上如果要安装数据库,咱 ...

  4. CentOS6.2下安装配置MySql

    转自:Linux学习之CentOS(十三)--CentOS6.4下Mysql数据库的安装与配置 如果要在Linux上做j2ee开发,首先得搭建好j2ee的开发环境,包括了jdk.tomcat.ecli ...

  5. centos6.7下安装配置vnc

    vnc是一款使用广泛的服务器管理软件,可以实现图形化管理,下面简单介绍一下如何在centos6.7下安装vnc. 1.安装vncserver yum install tigervnc tigervnc ...

  6. Centos6.7下安装配置VPN

    在Vultr上买了台VPS准备做VPN,不贵5刀,位置是日本东京的.ping值在100-200之间,还好算说的过去. Vultr地址 系统选择的Centos6 的版本是6.7 在网上查了查linux下 ...

  7. CentOS6.3下安装配置SVN(Subversion)

    #检查是否安装了低版本的SVN [root@localhost ~]# rpm -qa subversion subversion--.el6.x86_64 #卸载旧版本SVN [root@local ...

  8. CentOS6.X下安装配置独立SVN服务器Subversion server

    Subversion(简称SVN,svn),一个开放源码的版本号控制系统.相较于RCS.CVS,它採用了分支管理系统,它的设计目标就是代替CVS.互联网上非常多版本号控***务已从CVS转移到Subv ...

  9. CentOS6.9下sftp配置和scp用法

    基于 ssh 的 sftp 服务相比 ftp 有更好的安全性(非明文帐号密码传输)和方便的权限管理(限制用户的活动目录). 1.如果只想让某些用户只能使用 sftp 操作文件, 而不能通过ssh进行服 ...

随机推荐

  1. sudo中的 各类授权 名称包含的操作 权限命令?

    sudo是 do something as super user: 或者说: as Super User Do something: 就是 为 "非根用户赋予根用户的权限" 使用 ...

  2. windows进程中的几个杂项-hpguard 进程终止

    打印机后台进程 c:\windows\system32\spool printers,servers, tool等, 清空printers中的内容就可以正常打印; 锐爽的后视镜跟其他的车型的后视镜不一 ...

  3. Newcoder Metropolis(多源最短路 + Dijkstra堆优化)题解

    题目链接:https://www.nowcoder.com/acm/contest/203/I?tdsourcetag=s_pcqq_aiomsg来源:牛客网 思路:我们用用fa[i]表示距离i最近的 ...

  4. sonarqube中new issue的标准

    https://docs.sonarqube.org/latest/user-guide/issues/#header-4 Understanding which Issues are "N ...

  5. P2055 [ZJOI2009]假期的宿舍

    思路 看到复杂的匹配条件,发现要让一个人和一个床匹配,所以就每个有床的人(指本校学生)和t连一条边,每个需要床的人(指外校的人和不回家的人)和s连一条边,i和j互相认识就把i和j的床连在一起,自己和自 ...

  6. HIHOcoder1465 后缀自动机五·重复旋律8

    思路 后缀自动机求最长循环串 首先有一个常用的处理技巧,将串复制一遍,长度大于n的子串中就包含了一组循环子串 然后是后缀自动机如何处理最长公共子串的问题 维护两个变量,u和l,u代表当前位置的最长公共 ...

  7. P4609 [FJOI2016]建筑师

    思路 裸的第一类斯特林数,思路和CF960G相同 预处理组合数和第一类斯特林数回答即可 代码 #include <cstdio> #include <cstring> #inc ...

  8. P2163 [SHOI2007]园丁的烦恼(cdq分治)

    思路 其实是cdq的板子 题目要求询问对于每个给出的xi,yi,xj,yj形如xi<=x<=xj.yi<=y<=yj的x,y对数有多少组 改成四个询问,拆成四个前缀和的形式后就 ...

  9. 题解——Codeforces Round #507 (based on Olympiad of Metropolises) T1 (模拟)

    暴力模拟即可 就是情况略多 #include <cstdio> #include <algorithm> #include <cstring> using name ...

  10. 题解——洛谷P1250 种树(差分约束)

    一道看一眼就知道差分约束的题目 但是最短路spfa的时候注意松弛条件是 if(dis[u]+w[i]<dis[v[i]]) dis[v[i]]=dis[u]+w[i]; 不能写成 if(dis[ ...