Linux用户磁盘配额设置方法
<p><span><strong>一:内核中支持QUOTA:</strong></span></p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterxhtml" id="highlighter_716016">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
<div class="line number4 index3 alt1">
4</div>
<div class="line number5 index4 alt2">
5</div>
<div class="line number6 index5 alt1">
6</div>
<div class="line number7 index6 alt2">
7</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="xhtml plain"># grep CONFIG_QUOTA /boot/config-3.10.0-123.el7.x86_64</code>
</div>
<div class="line number2 index1 alt1">
<code class="xhtml plain">CONFIG_QUOTA=y</code>
</div>
<div class="line number3 index2 alt2">
<code class="xhtml plain">CONFIG_QUOTA_NETLINK_INTERFACE=y</code>
</div>
<div class="line number4 index3 alt1">
<code class="xhtml plain"># CONFIG_QUOTA_DEBUG is not set</code>
</div>
<div class="line number5 index4 alt2">
<code class="xhtml plain">CONFIG_QUOTA_TREE=y</code>
</div>
<div class="line number6 index5 alt1">
<code class="xhtml plain">CONFIG_QUOTACTL=y</code>
</div>
<div class="line number7 index6 alt2">
<code class="xhtml plain">CONFIG_QUOTACTL_COMPAT=y</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
如果有上列输出,则表示当前内核已经支持quota。</p>
<p>
<span><strong>二:修改/etc/fstab加入QUOTA支持:</strong></span></p>
<p>
# vim /etc/fstab<br>
/dev/sdb1 /dvd xfs defaults,usrquota,grpquota 1 2</p>
<p>
<span><strong>三:使用quotacheck初始化QUOTA数据库:</strong></span></p>
<p>
因为quotacheck依据/etc/mtab搜索文件系统,所以要将刚刚修改的/dev/sdb1重新挂载</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterxhtml" id="highlighter_555622">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
<div class="line number4 index3 alt1">
4</div>
<div class="line number5 index4 alt2">
5</div>
<div class="line number6 index5 alt1">
6</div>
<div class="line number7 index6 alt2">
7</div>
<div class="line number8 index7 alt1">
8</div>
<div class="line number9 index8 alt2">
9</div>
<div class="line number10 index9 alt1">
10</div>
<div class="line number11 index10 alt2">
11</div>
<div class="line number12 index11 alt1">
12</div>
<div class="line number13 index12 alt2">
13</div>
<div class="line number14 index13 alt1">
14</div>
<div class="line number15 index14 alt2">
15</div>
<div class="line number16 index15 alt1">
16</div>
<div class="line number17 index16 alt2">
17</div>
<div class="line number18 index17 alt1">
18</div>
<div class="line number19 index18 alt2">
19</div>
<div class="line number20 index19 alt1">
20</div>
<div class="line number21 index20 alt2">
21</div>
<div class="line number22 index21 alt1">
22</div>
<div class="line number23 index22 alt2">
23</div>
<div class="line number24 index23 alt1">
24</div>
<div class="line number25 index24 alt2">
25</div>
<div class="line number26 index25 alt1">
26</div>
<div class="line number27 index26 alt2">
27</div>
<div class="line number28 index27 alt1">
28</div>
<div class="line number29 index28 alt2">
29</div>
<div class="line number30 index29 alt1">
30</div>
<div class="line number31 index30 alt2">
31</div>
<div class="line number32 index31 alt1">
32</div>
<div class="line number33 index32 alt2">
33</div>
<div class="line number34 index33 alt1">
34</div>
<div class="line number35 index34 alt2">
35</div>
<div class="line number36 index35 alt1">
36</div>
<div class="line number37 index36 alt2">
37</div>
<div class="line number38 index37 alt1">
38</div>
<div class="line number39 index38 alt2">
39</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="xhtml plain"># mount /dvd -o remount </code>
</div>
<div class="line number2 index1 alt1">
<code class="xhtml plain"># mount</code>
</div>
<div class="line number3 index2 alt2">
<code class="xhtml plain">proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)</code>
</div>
<div class="line number4 index3 alt1">
<code class="xhtml plain">sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime,seclabel)</code>
</div>
<div class="line number5 index4 alt2">
<code class="xhtml plain">devtmpfs on /dev type devtmpfs (rw,nosuid,seclabel,size=926912k,nr_inodes=231728,mode=755)</code>
</div>
<div class="line number6 index5 alt1">
<code class="xhtml plain">securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)</code>
</div>
<div class="line number7 index6 alt2">
<code class="xhtml plain">tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev,seclabel)</code>
</div>
<div class="line number8 index7 alt1">
<code class="xhtml plain">devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,seclabel,gid=5,mode=620,ptmxmode=000)</code>
</div>
<div class="line number9 index8 alt2">
<code class="xhtml plain">tmpfs on /run type tmpfs (rw,nosuid,nodev,seclabel,mode=755)</code>
</div>
<div class="line number10 index9 alt1">
<code class="xhtml plain">tmpfs on /sys/fs/cgroup type tmpfs (rw,nosuid,nodev,noexec,seclabel,mode=755)</code>
</div>
<div class="line number11 index10 alt2">
<code class="xhtml plain">cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/usr/lib/systemd/systemd-cgroups-agent,name=systemd)</code>
</div>
<div class="line number12 index11 alt1">
<code class="xhtml plain">pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)</code>
</div>
<div class="line number13 index12 alt2">
<code class="xhtml plain">cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)</code>
</div>
<div class="line number14 index13 alt1">
<code class="xhtml plain">cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpuacct,cpu)</code>
</div>
<div class="line number15 index14 alt2">
<code class="xhtml plain">cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)</code>
</div>
<div class="line number16 index15 alt1">
<code class="xhtml plain">cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)</code>
</div>
<div class="line number17 index16 alt2">
<code class="xhtml plain">cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)</code>
</div>
<div class="line number18 index17 alt1">
<code class="xhtml plain">cgroup on /sys/fs/cgroup/net_cls type cgroup (rw,nosuid,nodev,noexec,relatime,net_cls)</code>
</div>
<div class="line number19 index18 alt2">
<code class="xhtml plain">cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)</code>
</div>
<div class="line number20 index19 alt1">
<code class="xhtml plain">cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event)</code>
</div>
<div class="line number21 index20 alt2">
<code class="xhtml plain">cgroup on /sys/fs/cgroup/hugetlb type cgroup (rw,nosuid,nodev,noexec,relatime,hugetlb)</code>
</div>
<div class="line number22 index21 alt1">
<code class="xhtml plain">configfs on /sys/kernel/config type configfs (rw,relatime)</code>
</div>
<div class="line number23 index22 alt2">
<code class="xhtml plain">/dev/sda3 on / type xfs (rw,relatime,seclabel,attr2,inode64,noquota)</code>
</div>
<div class="line number24 index23 alt1">
<code class="xhtml plain">selinuxfs on /sys/fs/selinux type selinuxfs (rw,relatime)</code>
</div>
<div class="line number25 index24 alt2">
<code class="xhtml plain">systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=32,pgrp=1,timeout=300,minproto=5,maxproto=5,direct)</code>
</div>
<div class="line number26 index25 alt1">
<code class="xhtml plain">hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime,seclabel)</code>
</div>
<div class="line number27 index26 alt2">
<code class="xhtml plain">debugfs on /sys/kernel/debug type debugfs (rw,relatime)</code>
</div>
<div class="line number28 index27 alt1">
<code class="xhtml plain">mqueue on /dev/mqueue type mqueue (rw,relatime,seclabel)</code>
</div>
<div class="line number29 index28 alt2">
<code class="xhtml plain">sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw,relatime)</code>
</div>
<div class="line number30 index29 alt1">
<code class="xhtml plain">sunrpc on /proc/fs/nfsd type nfsd (rw,relatime)</code>
</div>
<div class="line number31 index30 alt2">
<code class="xhtml plain">/dev/sda1 on /boot type xfs (rw,relatime,seclabel,attr2,inode64,noquota)</code>
</div>
<div class="line number32 index31 alt1">
<code class="xhtml plain">/dev/sdb1 on /dvd type ext2 (rw,relatime,seclabel,quota,usrquota,grpquota)</code>
</div>
<div class="line number33 index32 alt2">
<code class="xhtml plain"># quotacheck -avug</code>
</div>
<div class="line number34 index33 alt1">
<code class="xhtml plain">quotacheck: Quota for users is enabled on mountpoint /dvd so quotacheck might damage the file.</code>
</div>
<div class="line number35 index34 alt2">
<code class="xhtml plain">Please turn quotas off or use -f to force checking.</code>
</div>
<div class="line number36 index35 alt1">
<code class="xhtml plain">-a : 扫描所有在/etc/mtab中开启quota的文件系统</code>
</div>
<div class="line number37 index36 alt2">
<code class="xhtml plain">-v : 显示扫描过程</code>
</div>
<div class="line number38 index37 alt1">
<code class="xhtml plain">-u : 扫描所有user quotas (usrquota)</code>
</div>
<div class="line number39 index38 alt2">
<code class="xhtml plain">-g : 扫描所有group quotas (grpquota)</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
<span><strong>四:启动QUOTA:(quotaon 为启动 quotaoff 为关闭)</strong></span></p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterxhtml" id="highlighter_20001">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
<div class="line number4 index3 alt1">
4</div>
<div class="line number5 index4 alt2">
5</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="xhtml plain"># quotaon -avug</code>
</div>
<div class="line number2 index1 alt1">
<code class="xhtml plain">/dev/sdb1 : group quotas turned on</code>
</div>
<div class="line number3 index2 alt2">
<code class="xhtml plain">/dev/sdb1 : user quotas turned on</code>
</div>
<div class="line number4 index3 alt1">
<code class="xhtml plain">-a : 开启所有quota设定,根据/etc/mtab设定</code>
</div>
<div class="line number5 index4 alt2">
<code class="xhtml plain">-v : 当开启quota时显示信息</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
<span><strong>五:编辑用户磁盘限额:</strong></span></p>
<p>
这里设定用户quota最大使用容量为20M,当使用到10M时会得到警告要求降低到10M最多可以创建10个文件,当创建5个文件时会得到警告要求降低到5个文件</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterxhtml" id="highlighter_305180">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
<div class="line number4 index3 alt1">
4</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="xhtml plain"># edquota -u redhat(redhat为系统用户名称)</code>
</div>
<div class="line number2 index1 alt1">
<code class="xhtml plain">Disk quotas for user redhat (uid 1000):</code>
</div>
<div class="line number3 index2 alt2">
<code class="xhtml spaces"> </code><code class="xhtml plain">Filesystem blocks soft hard inodes soft hard</code>
</div>
<div class="line number4 index3 alt1">
<code class="xhtml spaces"> </code><code class="xhtml plain">/dev/sdb1 0 0 0 0 0 0</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
改为</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterxhtml" id="highlighter_679347">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="xhtml plain">Disk quotas for user redhat (uid 1000):</code>
</div>
<div class="line number2 index1 alt1">
<code class="xhtml spaces"> </code><code class="xhtml plain">Filesystem blocks soft hard inodes soft hard</code>
</div>
<div class="line number3 index2 alt2">
<code class="xhtml spaces"> </code><code class="xhtml plain">/dev/sdb1 0 10240 20480 0 5 10</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
-u : 编辑user的quota<br>
-g : 编辑group的quota<br>
-t : 编辑宽限时间<br>
-p : 复制quota资料到另一用户上</p>
<p>
blocks :目前使用者(quota:uid=5011)在/dev/hda7所使用的空间,单位:KB (不要修改)</p>
<p>
soft :soft limit 磁盘空间限定值 单位:KB (需要设定)<br>
hard :hard limit 磁盘空间限定值 单位: KB (需要设定)</p>
<p>
inodes :目前使用者使用掉的inodes,由于不容易使用inode控制,所以不要修改它。</p>
<p>
soft :soft limit 文件限制数量 (根据需要修改)<br>
hard :hard limit 文件限制数量 (根据需要修改)</p>
<p>
soft limit :最低限制容量,在宽限期(grace period)之内,使用容量可以超过soft limit,但必须在宽限期之内将使用容量降低到soft limit以下。</p>
<p>
hard limit :最终限制容量,如果使用者在宽限期内继续写入数据,到达hard limit将无法再写入。</p>
<p>
宽限时间:使用容量超过soft limit,宽限时间自动启动,使用者将容量降低到soft limit以下,宽限时间自动关闭,如果使用者没有在宽限时间内将容量降低到soft limit,那么他将无法再写入数据,即使使用容量没有到达hard limit</p>
<p>
<span><strong>六.设定宽限时间:</strong></span></p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterxhtml" id="highlighter_436138">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
<div class="line number4 index3 alt1">
4</div>
<div class="line number5 index4 alt2">
5</div>
<div class="line number6 index5 alt1">
6</div>
<div class="line number7 index6 alt2">
7</div>
<div class="line number8 index7 alt1">
8</div>
<div class="line number9 index8 alt2">
9</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="xhtml plain"># edquota -t</code>
</div>
<div class="line number2 index1 alt1">
<code class="xhtml plain">Grace period before enforcing soft limits for users:</code>
</div>
<div class="line number3 index2 alt2">
<code class="xhtml plain">Time units may be: days, hours, minutes, or seconds</code>
</div>
<div class="line number4 index3 alt1">
<code class="xhtml spaces"> </code><code class="xhtml plain">Filesystem Block grace period Inode grace period</code>
</div>
<div class="line number5 index4 alt2">
<code class="xhtml spaces"> </code><code class="xhtml plain">/dev/sdb1 7days 7days</code>
</div>
<div class="line number6 index5 alt1">
<code class="xhtml plain"># quota -uv redhat(-u : 显示user。-v : 显示quota值)</code>
</div>
<div class="line number7 index6 alt2">
<code class="xhtml plain">Disk quotas for user redhat (uid 1000): </code>
</div>
<div class="line number8 index7 alt1">
<code class="xhtml spaces"> </code><code class="xhtml plain">Filesystem blocks quota limit grace files quota limit grace</code>
</div>
<div class="line number9 index8 alt2">
<code class="xhtml spaces"> </code><code class="xhtml plain">/dev/sdb1 0 10240 20480 0 5 10 </code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
<span><strong>七.使用-p参数复制quota资料到另一个用户:</strong></span></p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterxhtml" id="highlighter_693578">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
<div class="line number4 index3 alt1">
4</div>
<div class="line number5 index4 alt2">
5</div>
<div class="line number6 index5 alt1">
6</div>
<div class="line number7 index6 alt2">
7</div>
<div class="line number8 index7 alt1">
8</div>
<div class="line number9 index8 alt2">
9</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="xhtml plain"># edquota -p redhat aaa </code>
</div>
<div class="line number2 index1 alt1">
<code class="xhtml plain"># quota -uv aaa</code>
</div>
<div class="line number3 index2 alt2">
<code class="xhtml plain">Disk quotas for user aaa (uid 1001):</code>
</div>
<div class="line number4 index3 alt1">
<code class="xhtml spaces"> </code><code class="xhtml plain">Filesystem blocks quota limit grace files quota limit grace</code>
</div>
<div class="line number5 index4 alt2">
<code class="xhtml spaces"> </code><code class="xhtml plain">/dev/sdb1 0 10240 20480 0 5 10 </code>
</div>
<div class="line number6 index5 alt1">
</div>
<div class="line number7 index6 alt2">
<code class="xhtml plain">同时复制给多个用户:</code>
</div>
<div class="line number8 index7 alt1">
</div>
<div class="line number9 index8 alt2">
<code class="xhtml plain">#edquota -p redhat`awk -F: '$3 >499 {print $1}' /etc/passwd`</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
这样就将quota的磁盘配额资料复制给所有uid >499的用户(uid为500以上的用户通常为真实用户)</p>
<p>
八.系统启动时自动激活quota:</p>
<p>
可以加入到/etc/rc.d/rc.sysinit或/etc/rc.d/rc.local中,在结尾加上一行:/usr/sbin/quotaon -aug</p>
<p>
还要记得在系统关机/重启脚本(/etc/rc.d/rc/)中加入关闭quota的语句:/usr/sbin/quotaoff -aug</p>
<p>
<span><strong>九.查询磁盘配额:</strong></span></p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterxhtml" id="highlighter_445399">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
<div class="line number4 index3 alt1">
4</div>
<div class="line number5 index4 alt2">
5</div>
<div class="line number6 index5 alt1">
6</div>
<div class="line number7 index6 alt2">
7</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="xhtml plain"># repquota -a</code>
</div>
<div class="line number2 index1 alt1">
<code class="xhtml plain">*** Report for user quotas on device /dev/sdb1</code>
</div>
<div class="line number3 index2 alt2">
<code class="xhtml plain">Block grace time: 24:00; Inode grace time: 7days</code>
</div>
<div class="line number4 index3 alt1">
<code class="xhtml spaces"> </code><code class="xhtml plain">Block limits File limits</code>
</div>
<div class="line number5 index4 alt2">
<code class="xhtml plain">User used soft hard grace used soft hard grace</code>
</div>
<div class="line number6 index5 alt1">
<code class="xhtml plain">----------------------------------------------------------------------</code>
</div>
<div class="line number7 index6 alt2">
<code class="xhtml plain">root -- 20 0 0 2 0 0 </code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
<span><strong>十.计划任务quotcheck:</strong></span></p>
<p>
quotcheck用来扫描文件系统的磁盘用量,更新aquota.user,aquota.group保持quota记录档到最新的状态。因此最好在系统启动时执行或通过cron定期执行:</p>
<p>
每周六早七点执行一次:0 7 * * 6 /sbin/quotacheck -avug</p>
<p>
以上就是小编为大家带来的Linux用户磁盘配额设置方法全部内容了,希望大家多多支持~</p>
頁:
[1]