配额管理

配额管理

配额综述

	1)在内核中执行
	2)以文件系统为单位启用
	3)对不同组或者用户的策略不同
	4)根据块或者节点进行限制,进行执行软限制(soft limit)和硬限制(hard limit)
    5)配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。

实现配额的前提

	1)独立分区上的文件系统,不能是硬盘,不能是目录
	2)具有磁盘配额的挂载选项。
		(rw)类的就是挂载选项,可通过mount或cat/proc/mount来查看是否具有。
	3)在/etc/fstab中添加特定的关键字。
		default更改为usrquota&grpquota
	4)getenforce得到的结果需要为Permissive或disable,否则需要setenforce 0或修改配置文件/etc/selinux/config
	5)可能需要重新挂载根
		 mount -o  remount  /

设定配额

	1)初始化
		分区挂载选项:usrquota ,grpquota
		初始化数据库:quotacheck
	2)开启和取消
		开启配额:quotaon 
		取消配额:quotaoff
	3)编辑和定义
		直接编辑配额:
			edquota username
		定义原始标准用户
			edquota -p user1 user2
	4)在shell中直接编辑:
		setquota usename 4096 5120 40 50 /foo

报告配额状态

	1)用户调查:quota username
	2)配额概述:repquota
	3)其他工具:warnquota

配额相关命令

	1)quotacheck
		quotacheck - scan a filesystem for disk usage, create, check and repair quota files
		初始化数据库
		quotacheck [options] filesystem|-a
			-u, --user                	检查用户文件
			-g, --group               	检查组文件
			-c, --create-files        	创建新的配额文件
			-b, --backup              	创建老的配额文件的备份
			-f, --force               	强制检查,即使配额已被激活
			-i, --interactive         	交互模式
			-n, --use-first-dquot     	使用复制结构的第一个复制
			-v, --verbose             	输出详细信息
			-d, --debug               	显示更多调试信息
			-m, --no-remount          	不重新挂载只读文件系统
			-M, --try-remount         	尝试重新挂载只读文件系统,即使尝试失败
			-R, --exclude-root        	检查所有文件系统,排除root
			-F, --format=formatname   	检查指定格式的配额文件
			-a, --all                 	检查所有文件系统
			-h, --help                	显示帮助并退出
			-V, --version             	显示版本信息并退出
			
	2)quotaon,quotaoff
		quotaon, quotaoff - turn filesystem quotas on and off
		开启和取消文件系统配额
		quotaon [options] -a|filesys...
			-a, --all                	关闭所有文件系统的配额
			-f, --off               	关闭配置
			-u, --user               	在用户配额上操作
			-g, --group              	在组配额上操作
			-p, --print-state        	显示配额是否开启或关闭
			-x, --xfs-command=cmd    	执行XFS配额命令
			-F, --format=formatname  	在指定配额格式上操作
			-v, --verbose            	显示详细信息
	
	3)edquota
		edquota - edit user quotas,直接编辑用户配额
		edquota [options] username|groupname ...
			-u, --user                    	编辑用户数据
			-g, --group                   	编辑组数据
			-r, --remote                  	 (via RPC)编辑远程配额
			-m, --no-mixed-pathnames      	修剪领头斜杠语法从NFSv4 挂载点
			-F, --format=formatname       	编辑指定格式的配额
			-p, --prototype=name          	从一个标准的用户/组上复制数据
			--always-resolve          	始终尝试解析名称, 即使它仅由数字组成
			-f, --filesystem=filesystem   	仅在指定文件系统上编辑数据
			-t, --edit-period             	编辑合适的周期
			-T, --edit-times              	编辑一个用户或组的合适时间
		
	4)setquota
		setquota - set disk quotas,设置磁盘配额
		setquota [-u|-g] [-rm] [-F quotaformat] <user|group> <block-softlimit> <block-hardlimit> <inode-softlimit> <inode-hardlimit> -a|<filesystem>...
		setquota [-u|-g] [-rm] [-F quotaformat] <-p protouser|protogroup> <user|group> -a|<filesystem>...
		setquota [-u|-g] [-rm] [-F quotaformat] -b [-c] -a|<filesystem>...
		setquota [-u|-g] [-F quotaformat] -t <blockgrace> <inodegrace> -a|<filesystem>...
		setquota [-u|-g] [-F quotaformat] <user|group> -T <blockgrace> <inodegrace> -a|<filesystem>...
			-u, --user                 	设置用户的限制
			-g, --group                	设置组的限制
			-a, --all                  	设置所有文件系统的限制
			--always-resolve       	始终尝试解析名称, 即使它仅由数字组成
			-F, --format=formatname    	在指定配额格式上操作
			-p, --prototype=protoname  	从用户/组上复制限制
			-b, --batch                	从标准输入读取限制
			-c, --continue-batch       	在发生错误时继续处理
			-r, --remote               	设置远程配置 (via RPC)
			-m, --no-mixed-pathnames      	修剪 NFSv4 挂载点的前导斜线
			-t, --edit-period          	编辑合适的周期
			-T, --edit-times           	编辑用户/组的合适时间
			
	5)quota
		quota - display disk usage and limits,显示磁盘使用情况和限制
		quota [options]
			-u, --user                	显示用户的配额
			-g, --group               	显示组的配额
			-q, --quiet               	显示更多简洁信息
			-v, --verbose             	显示更多详细信息
			-s, --human-readable      	使用人类可读性数值单位显示(MB, GB...)
			--always-resolve      	始终尝试转换名称为id,即使它是用数字表示的
			-w, --no-wrap             	不包裹长的行
			-p, --raw-grace           	从新的时间点上采用秒级别显示合适的时间
			-l, --local-only          	不查询NFS文件系统
			-Q, --quiet-refuse        	当NFS服务没有反应时,不显示错误信息
			-i, --no-autofs           	不查询autofs挂载点
			-F, --format=formatname   	显示指定格式的配额
			-f, --filesystem-list     	仅显示给出文件系统的配额信息
			-A, --all-nfs             	显示所有NFS挂载点配额
			-m, --no-mixed-pathnames  	修剪 NFSv4 挂载点的前导斜线
			--show-mntpoint       	在输出上显示文件系统的挂载点
			--hide-device         	在输出上不显示文件系统的设备
			
	6)repquota
		repquota - summarize quotas for a filesystem,报告文件系统的配额信息
		repquota [options] -a | mntpoint
			-v, --verbose               	同时显示用户/组,而不使用任何用法
			-u, --user                  	显示关于用的的信息
			-g, --group                 	显示关于组的信息
			-s, --human-readable        	以人类易读的方式显示数值 (MB, GB, ...)
			-t, --truncate-names        	截断名称为9个字符
			-p, --raw-grace             	从时间点上采用秒级别输出合适时间
			-n, --no-names              	不翻译uid/gid为名称
			-i, --no-autofs             	避免autofs挂载点
			-c, --cache                 	立即翻译id中大的数值
			-C, --no-cache              	一个接一个的翻译id
			-F, --format=formatname     	报告指定格式的信息
			-a, --all                   	报告指定挂载点带有配额的信息
原文地址:https://www.cnblogs.com/shenxm/p/8378830.html