一、磁盘管理的概念
Linux系统是多用户任务操作系统,在使用系统时,会出现多用户共同使用一个c盘的情况,若果其中少数几个用户占用了大量的c盘空间,势必压缩其他用户的c盘的空间和使用权限。因而,系统管理员应当适当的开放c盘的权限给用户,以妥善分配系统资源。
二、什么是c盘配额
c盘配额是一种c盘空间的管理机制,是系统管理员拿来监控和限制用户或组对c盘的使用的工具。
c盘限额可以从两方面限制:
1、限制用户或组可以拥有的inode数(即文件个数)
2、限制分配给用户或组的c盘块的数量
c盘配额是以每一个使用者,每一文件系统为基础的,假如使用者可以在超过一个以上的文件上构建文件,这么必须在每一文件系统上分别设定。c盘配额只能针对分区,不能针对目录或则文件。
三、磁盘配额的限制前提
查看内核是否支持(默认安装时,是支持qutoa)
查看系统中是否安装了qutoa的RPM(RedHat/CentOS默认早已安装),假如没有安装则自行安装quota
查看启动脚本是否在系统启动时打开了quota(RHEL/CentOS默认早已打开)
三、磁盘配额的步骤
1、对硬碟分区、格式化、挂载时启用quota功能、新建测试用户
硬碟分区、格式化、挂载:
对硬碟分区、格式化、挂载时启用quota功能
临时挂载启用:
使用mount临时挂载时,数据储存文件/etc/mtab:
永久挂载启用须要更改配置文件/etc/fstab:
新建三个测试用户user1、user2、user3,用户组gg
2、用quotacheck生成quota主配置文件
quotacheck命令:用于扫描挂载的文件系统并设置c盘的空间与限制
参数:-a扫描所有分区
-b备份
-d调试模式
-c重新创建文件
-f逼迫检测
-i交互模式
-v运行时显示详尽的处理信息
-g显示群组所占的目录文件数
-u显示每位用户所占的目录数
-M:『强制』进行quotacheck的扫描。
3、用edquota给用户设置quota配额方案
edquota(editquota)功能说明:编辑用户或群组的quota。
句型:edquota[-p][-ug][用户或群组名称...]或edquota[-ug]-t
补充说明:edquota预设会使用vi来编辑使用者或群组的quota设置。
参数:-u设置用户的quota,这是预设的参数。
-g设置群组的quota。
-p将源用户的quota设置套用至其他用户或群组。
-t设置宽限时限。
edquotauser1给用户user1配置c盘配额,步入编辑页面(如上图)
解析:blocks:用户在该分区下“已经使用”的空间“K”为单位。soft:c盘空间的软限制:用户使用的空间达到该值的时侯,会报案。hard:c盘空间的硬限制:最大能使用的空间。inodes:用户“已经创建的”文件数目。soft:用户创建的文件数目,达到该值的时侯,报案。(通常不进行限制,或则限制值很大)hard:用户最多只能创建多少个文件。
quota命令:显示c盘已使用的空间与限制。
句型:quota[-quvV][用户名称...]或quota[-gqvV][群组名称...]
补充说明:执行quota指令,可查询c盘空间的限制,并得知己使用多少空间
参数:-g列举群组的c盘空间限制。
-q简明列表,只列举超过限制的部份。
-u列举用户的c盘空间限制。
-s选择inod或则硬碟空间来显示。
-v显示该用户或群组,在所有挂入系统的储存设备的空间限制。
-V显示版本信息。
非交互式命令setquota:
setquota是一个命令行配额编辑器,可以采用命令行的形式直接设置用户或用户组的配额限制。
倘若禁用配额限制,可以把相应参数设置为0。假如多个文件系统须要更改配额设置,每位文件系统须要调用一次setquota命令。
句型格式:setquota[参数]
常用参数:-a:编辑启用配额限制的所有文件系统
-b:从标准输入读取配额设置信息
-u:设置命令行参数name指定用户的配额
-t:设置用户数据块与信息节点的宽限时间周期
4、启动用户的配额
quotaon命令:拿来开启用户的c盘空间的限制
参数:-a开启所有的c盘配额限制
-g组c盘配额限制
-p列举状态
-u用户配额限制
-v运行时显示详尽的处理信息
--help显示帮助信息
--version显示版本信息
5、用帐号登入,创建文件进行配额测试
使用quota命令查看user1用户的c盘已使用的c盘与限制:
登录user1用户进行测试
user1用户在新建第5个文件的时侯早已发出警告,并且文件新建成功:
在新建下一个文件时,提示新建失败:
6、关闭用户的c盘空间的限制
quotaoff命令:拿来关掉用户的c盘空间的限制参数:-a关掉所有的c盘配额限制-g组c盘配额限制-p列举状态-u用户配额限制-v运行时显示详尽的处理信息--help显示帮助信息--version显示版本信息
dd-转换和拷贝文件
当进行非强制的转换的时侯,使用指定的输入和输出块大小拷贝文件(默认是从标准输入到标准输出。)它每次从输入读取指定大小的一个块(默认是512字节)。假如使用bs=bytes选项,但是没有转换,不仅指定sync,noerror,或notrunc之外,这么dd将把全部读到的数据(可以比恳求读的少)讲到独立的输出块去。这个输出块的宽度和读到的数据完全一样,除非指定使用sync(同步)转换,那样的话LINUX社区,数据结尾处将追加NUL字符(或空格,见下)。其他情况下,输入的时侯每次读一个块,之后处理,并将输出结果搜集上去,最后讲到指定大小的数据块中去。最终的输出块可能会比指定的大小短一些。数字值选项(以字节或块为单位)前面可以跟一个因数:k=1024,b=512,w=2,c=1(w和c是GNU扩充句型。最好别使用w,由于在systemV中,它表示2linux用户磁盘配额,在4.2BSD中,它表示4)。两个或更多的数值表达式可以通过lqxrq乘上去。GEUfileutils4.0而且容许在数据块大小的表述中使用下述除法后缀(用bs=,cbs=,obs=):M=1048576,G=1073741824,同理可得Tredhat linux 9.0下载,P,E,Zlinux用户磁盘配额,Y。
D后缀表示数值是以十补码表示的:kD=1000MD=1000000GD=1000000000等等。(注意,在ls、df、du命令中,M等标记的大小是由环境变量确定的,而在DD中,它的值是固定的。)if=file从file中读而不是标准输入。of=file讲到file里去而不是标准输出。除非指定conv=notrunc,否则,dd将把file截为O字节(或由seek=选项指定的大小)ibs=bytes一次读bytes字节。默认是512。obs=bytes一次写bytes字节。默认是512。bs=bytes一次读和写bytes字节。这将覆盖ibs和obs设定的值(但是,设定bs不等于同时将ibs和obs设为同一个值,起码在只使用sync,noerror或notrunc转换时是这样的。由于bs规定,每位输入块都应作为单独的数据块拷贝到输出,而不把较短的块组合到一起)。cbs=bytes为block转换和unblock转换指定转换块的大小。skip=blocks在拷贝之前,跳过输入文件的前blocks块,每块大小为ibs-byte字节。
seek=blocks在拷贝之前,跳过输出文件的前blocks块,每块大小为obs-byte字节。count=blocks只拷贝输入文件的前blocks块(每块的大小为ibs-byte字节),而不是全部内容,直至文件末尾。conv=转换[,转换]...将文件按转换参数指定的形式转换(在lq,rq两侧没有空格)。转换方法包括:ascii将EBCDIC转换成ascii。ebcdic将ascii转换成ebcdic。ibm将ascii转换成alternativeebcdic。block每一行输入,无论长短,输出都是cbs字节,但是其中的lq换行rq(NEWLINE,即c中的')用空格替换。如有必要,行尾会填充空格。unblock用lq换行rq替换每位输入块(cbs字节大小)末尾的空格。lcase将小写字母转换成大写。ucase将大写字母转换成小写。swab交换每对输入字节。假如读入的字节数是偶数,最后一个字节只是简单的复制到输出(由于没有能跟它交换的字节了)(POSIX1003.26,PASC翻译1003.23号和4号)。noerror发生读错误时,继续进行。notrunc不截断输出文件。sync用0填充到每位输入块的末尾,使其大小为ibs字节。