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
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
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
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.
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使用数量,这里不再赘述。
总结
- 配置配额是为了更好的分配文件系统使用空间,而对普通用户或群组限制使用额度。
- 配置配额是基于挂载文件而言,即必须使用挂载选项usrquota and/or grpquota。
- 配置配额可以单独限于普通用户,也可以单独限于群组,也可以同时对群组和用户进行限制。
- 配置配额可以对文件大小(block)进行限定,也可以对文件数目(inode)进行限定
- 【转载】CentOS6.5_X64下安装配置MongoDB数据库
[转载]CentOS6.5_X64下安装配置MongoDB数据库 2014-05-16 10:07:09| 分类: 默认分类|举报|字号 订阅 下载LOFTER客户端 本文转载自zhm&l ...
- CentOS6.5下安装配置MySQL
CentOS6.5下安装配置MySQL,配置方法如下: 安装mysql数据库:# yum install -y mysql-server mysql mysql-deve 查看mysql-server ...
- CentOS6.5下安装配置MySQL数据库
一.MySQL简介 说到数据库,我们大多想到的是关系型数据库,比如MySQL.Oracle.SQLServer等等,这些数据库软件在Windows上安装都非常的方便,在Linux上如果要安装数据库,咱 ...
- CentOS6.2下安装配置MySql
转自:Linux学习之CentOS(十三)--CentOS6.4下Mysql数据库的安装与配置 如果要在Linux上做j2ee开发,首先得搭建好j2ee的开发环境,包括了jdk.tomcat.ecli ...
- centos6.7下安装配置vnc
vnc是一款使用广泛的服务器管理软件,可以实现图形化管理,下面简单介绍一下如何在centos6.7下安装vnc. 1.安装vncserver yum install tigervnc tigervnc ...
- Centos6.7下安装配置VPN
在Vultr上买了台VPS准备做VPN,不贵5刀,位置是日本东京的.ping值在100-200之间,还好算说的过去. Vultr地址 系统选择的Centos6 的版本是6.7 在网上查了查linux下 ...
- CentOS6.3下安装配置SVN(Subversion)
#检查是否安装了低版本的SVN [root@localhost ~]# rpm -qa subversion subversion--.el6.x86_64 #卸载旧版本SVN [root@local ...
- CentOS6.X下安装配置独立SVN服务器Subversion server
Subversion(简称SVN,svn),一个开放源码的版本号控制系统.相较于RCS.CVS,它採用了分支管理系统,它的设计目标就是代替CVS.互联网上非常多版本号控***务已从CVS转移到Subv ...
- CentOS6.9下sftp配置和scp用法
基于 ssh 的 sftp 服务相比 ftp 有更好的安全性(非明文帐号密码传输)和方便的权限管理(限制用户的活动目录). 1.如果只想让某些用户只能使用 sftp 操作文件, 而不能通过ssh进行服 ...
随机推荐
- How to know the directory size in CENTOS 查看文件夹大小
Under any linux system, you want to use the command du. (Disk Usage) Common usage is : du -sh file(s ...
- P2055 [ZJOI2009]假期的宿舍
思路 看到复杂的匹配条件,发现要让一个人和一个床匹配,所以就每个有床的人(指本校学生)和t连一条边,每个需要床的人(指外校的人和不回家的人)和s连一条边,i和j互相认识就把i和j的床连在一起,自己和自 ...
- parent获取子元素以及自身元素
innerHTML 设置或获取位于对象起始和结束标签内的 HTML outerHTML 设置或获取对象及其内容的 HTML 形式 innerText 设置或获取位于对象起始和结束标签内的文本 oute ...
- (转载)MySQl数据库-批量添加数据的两种方法
方法一:使用excel表格 方法二:使用insert语句(FileWriter批量写入) 使用excel表格 1.打开数据表,按照表的字段在excel中添加数据.注意:表中字段名必须和excel中的名 ...
- 剥开比原看代码16:比原是如何通过/list-transactions显示交易信息的
作者:freewind 比原项目仓库: Github地址:https://github.com/Bytom/bytom Gitee地址:https://gitee.com/BytomBlockchai ...
- Windows下使用命令安装Python的scipy库出错的解决
平时使用Python都是在Sublime下使用,不想使用IDE.使用各种库时安装也就是使用pip安装即可.来说说今天自己遇到的一个问题:使用scipy数学库时,使用命令: pip install sc ...
- Codeforces Round #135 (Div. 2) D. Choosing Capital for Treeland dfs
D. Choosing Capital for Treeland time limit per test 3 seconds memory limit per test 256 megabytes i ...
- L1-048. 矩阵A乘以B
水题不多说,直接上代码:#include<stdio.h> using namespace std; int main() { ][]; ][]; int m,n; int x,y; sc ...
- [原][osgEarth][JSBSim]重新整理使用JSBSim飞机动力模拟的使用
JSBSim是一个模拟飞机飞行空气动力学的,这些都不用深入理解,只要知道自己程序怎么和JSBSim交互就行了 我使用的是JSBSim-Win32-0.9.13 原理:改写jsbsim的FGInput ...
- 把查询的数据导出到elsx表 关于流的概念
1.获取到需要导出的数据 因为这个对象是PagedResulDto类型的 所以封装成Table的时候 传pageList.Items就可以了 PagedResultDto<Search ...