CentOS6.8下实现配置配额

CentOS6.8下实现配置配额

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

本文以硬盘/dev/sdb为例设置配置配额:

实验

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

1.  [[email protected] ~]#lsblk /dev/sdb

2.  NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT

3.  sdb    8:16   0  20G  0 disk

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

1.  [[email protected] ~]#mkfs.ext4 /dev/sdb

  3.  创建挂载目录

1.  [[email protected] ~]#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.  [[email protected] ~]#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.     [[email protected] ~]#quotacheck /mnt/sdb/

    • 查看数据库是否生成成功,是否生成aquota.user文件

1.     [[email protected] sdb]#ls /mnt/sdb/

2.  aquota.user  lost+found

    • 编辑配置数据库
    • 设置vathe的配置配额

1.  [[email protected] 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.  [[email protected] sdb]#quotaon /dev/sdb

测试

  • 在/mnt/sdb/目录下创建vathe_f/目录,且属主为vathe,切换到vathe用

1.  [[email protected] sdb]$pwd              #   查看当前目录

2.  /mnt/sdb

3.  [[email protected] sdb]$whoami      #   查看当前用户,必须是配置配额设定的用户

4.  vathe

5.  [[email protected] 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. [[email protected] sdb]$cd vathe_f/

  • 使用edquota USER 可以查看、设置用户USER的配额限度和使用进度

1.  [[email protected] 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.  [[email protected] 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.  [[email protected] 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.  [[email protected] 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.  [[email protected] vathe_f]$echo "heih" >> file

2.  -bash: echo: write error: Disk quota exceeded    #  写入错误

3.  [[email protected] vathe_f]$touch a                 #   创建文件成功

4.  [[email protected] vathe_f]$

当然也可以测试inode使用数量,这里不再赘述。

总结

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

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

CentOS6.5下安装配置MySQL

CentOS6.5下安装配置MySQL,配置方法如下: 安装mysql数据库:# yum install -y mysql-server mysql mysql-deve 查看mysql-server版本:# rpm -qi mysql-server 初始化mysql数据库:#service mysqld start 重启mysql数据库:#service mysql restart 设置mysql开机启动:# chkconfig mysqld on 为数据库设置用户名和密码:# mysqlad

CentOS6.2下安装配置MySql

转自:Linux学习之CentOS(十三)--CentOS6.4下Mysql数据库的安装与配置 如果要在Linux上做j2ee开发,首先得搭建好j2ee的开发环境,包括了jdk.tomcat.eclipse的安装(这个在之前的一篇随笔中已经有详细讲解了Linux学习之CentOS(七)--CentOS下j2ee环境搭建),如果要开发web项目,我们当然可以安装一个myeclipse到Linux系统上去,这个安装方法和安装eclipse完全相同,就没有记录下来了,有了jdk.tomcat.ecli

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

Hi 大家好,我是钟义林,今天我们来安装一个Subversion服务吧,Subversion server其实就我们日常说的SVN服务,Subversion(简称SVN,svn),一个开放源代码的版本控制系统,相较于RCS.CVS,它采用了分支管理系统,它的设计目标就是取代CVS.互联网上很多版本控***务已从CVS转移到Subversion.svn服务器有2种运行方式:独立服务器和借助apache运行.下面我安装独立SVN 首先,清除一下yum的缓存吧,yum clean  all [一]安装

CentOS6.5_X64下安装配置MongoDB数据库

环境准备: 硬件要求:50G硬盘 8G内存 4核CPU 软件要求:Linux操作系统:CentOS6.5_X64  mongodb-linux-x86_64-2.6.10.tgz 目的: 安装配置MongoDB数据库 具体操作: 一.关闭SElinux.配置防火墙 1.vi /etc/selinux/config #SELINUX=enforcing #注释掉 #SELINUXTYPE=targeted #注释掉 SELINUX=disabled #增加 :wq!  #保存退出 setenfor

Centos6.5 下安装配置Apache+PHP+Mysql环境

1.准备工作 # yum -y update && yum -y install vim make cmake gcc gcc-c++ bison bison-devel ncurses ncurses-devel autoconf automake wget unzip lrzsz zlib libgcrypt* libtool* 2.安装apache2.2 # wget http://mirrors.hust.edu.cn/apache//httpd/httpd-2.2.31.tar.

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

Subversion(简称SVN,svn),一个开放源代码的版本控制系统,相较于RCS.CVS,它采用了分支管理系统,它的设计目标就是取代CVS.互联网上很多版本控***务已从CVS转移到Subversion.svn服务器有2种运行方式:独立服务器和借助apache运行.下面我安装独立SVN 首先,清除一下yum的缓存吧,yum clean all [一]安装 subversion yum install subversion subversion-devel 然后选择y(yes)确认安装,当然

Centos6.7下安装配置VPN

在Vultr上买了台VPS准备做VPN,不贵5刀,位置是日本东京的.ping值在100-200之间,还好算说的过去. Vultr地址 系统选择的Centos6 的版本是6.7 在网上查了查linux下安装VPN的资料,解决方案真不少,有用OpenVPN的,有的是PPTP的.OpenVPN的稍麻烦些,需要证书什么的.因为是自己用,所以采用了PPTP的方案. 有好多同行,已经把PPTP这块的东西都写好了脚本,到时候直接运行脚本就行了. 教程参考地址 Centos6.7 下PPTP VPN一键安装脚本

centos6.5下安装配置hudson

### hudson介绍 Hudson是Jenkins的前身,是基于Java开发的一种持续集成工具,用于监控程序重复的工作 ### 安装maven #### 下载包 ``` wget http://mirror.bit.edu.cn/apache/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz ``` #### 安装 ``` [[email protected] ~]# tar -xf apache-maven-3.3.9-b

centos6.5下安装配置ELK及收集nginx日志

Elasticsearch 是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等. Logstash 是一个完全开源的工具,他可以对你的日志进行收集.分析,并将其存储供以后使用(如,搜索) kibana 也是一个开源和免费的工具,他Kibana可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助您汇总.分析和搜索重要数据日志. 环境:192.168.50.119