linux的磁盘配额
在前面的博文中我们介绍了samba服务的安装和修改配置文件来设置samba服务。但在windows下是可以通过磁盘配额来管理文件服务器的,在linux中,也可以设置磁盘配额来管理文件服务器,而且配置更容易,更简单。
我们先大概说明一下磁盘配额的基本步骤,以便在随后的讲解更容易明白。
1.检查软件包是否安装。
2.编辑文件系统文件
3.重启计算机
4.生成磁盘配额文件
5.针对用户或者组做磁盘配额
6.启动磁盘配额
步骤挺多,但可以看出来真正要操作的无非是2.3个步骤,所以也是非常方便的。下面我们就来看一下做linux磁盘配额的具体步骤。
1
rpm
-qa|grep
quota
(查看quota软件包是否被安装过)
2.vi
/etc/fstab
(我们这里在第一行里改,说明我们是对/目录做磁盘配额)
3.重新启动计算机,我们修改了文件系统文件,但其实并没有生效,只有重新启动计算机的时候让计算机重新加载文件系统才会生效。而且在重新启动的过程中会报错,因为没有磁盘配额的配置文件。重新启动的命令是:reboot
4.既然显示没有磁盘配额的配置文件,我们这里就用quotacheck
-cumg
/命令来生成磁盘配额文件。我们先ls
/
并看不到有磁盘配额的配置文件,使用quotacheck
-cumg命令后可以看到以下两个配置文件。
5.现在我们的准备工作就已经做好了。我们现在开始对用户或者组做磁盘配额。
我们这里就新建一个用户test来做测试。
useradd
test
使用这个命令来做用户的磁盘配额:edquota
-u
test
回车后会进入这样一个配置文件。
对数字进行编辑后,我们就进入第6部
6.quotaon
-av
启动磁盘配额。
这样,磁盘配额就做好了。
我们还可以通过quota+用户名
来查看用户的磁盘配额情况。
并且在系统默认设置的时间后,系统会自动清楚软限制和硬限制中间所包含的容量。我们可以通过edquota
-t
来设置软限制的时间.
这样,我们就可以通过samba的配置文件和磁盘配额来完善我们的文件服务器了。
linux什么是磁盘配额,简述如何实现.
Linux磁盘配额
1. 磁盘配额的使用限制
仅针对整个分区:磁盘配额实际运行时,是针对“整个分区”进行限制的,例如,如果/dev/hda5载入在/home下,那么,在/home下面的所有目录都会受到限制。
核心必须支持磁盘配额:Linux系统核心必须支持磁盘配额模块。
磁盘配额的记录文件:使用的Kernel 2.6.XX的核心版本,这个核心版本支持新的磁盘配额模块,使用的默认文件(aquota.user、aquota.group)将不同于旧版本的quota.user和quota.group。旧版本的磁盘配额可以通过convertquota程序来转换
只对一般身份用户有效:并不是所有在Linux上的账号都可以设置磁盘配额,例如root就不能设置磁盘配额,因为他拥有整个系统所有的数据。
2. 磁盘配额程序对硬盘配额的限制
最低限制( soft ):这是最低限制容量。用户在宽限期间之内,它的容量可以超过最低限制,但必须在宽限时间之内将磁盘容量降低到最低限制的容量限制范围之内。
最高限制( hard ):这是“绝对不能超过”的容量。通常最高限制会比最低限制高。
宽限时间:宽限之间是指当用户使用的空间超过了最低限制,却还没有到最高限制时,在这个“宽限时间”内,就必须请用户将使用的磁盘空间降低到最低限制之下,否则则不允许在写入。反之,则宽限时间取消
3. 基本的磁盘配额命令
在开始进行磁盘配额的实际练习之前,先了解一下磁盘配额使用的命令,这些命令分为两种,一种是查询功能(quota、quotacheck、quotastats、warnquota、requota),另一种则是编辑磁盘配额的内容(edquota、setquota)。下面我们来讨论这些基本命令。
3.1. /etc/mtab
为什么要提这个文件系统实际载入的记录文件呢?要注意,当我们使用磁盘配额的时候,系统会去搜素:“系统上具有磁盘配额参数的分区”,所以,当我们要使用磁盘配额的功能时,系统文件必须要支持磁盘配额的标志。一般来说,我们是通过编辑/etc/fstab后,在重新载入文件系统的方法,来让系统的文件系统支持磁盘配额。这个概念很重要。
3.2. quota
这个命令仅仅用来“显示”当前某个用户或者组的磁盘配额值。
# quota -uvs //这个是显示当前用户的配额值
-u:表示显示用户的配额
-g:表示显示组的配额
-v:显示每个文件系统的磁盘配额
-s:可以选择用Inode或者磁盘容量的限制值来显示
# quota -gvs //显示root用户所在组的配额值
# quota -uvs test1 //显示test1用户的配额值
3. 3.quotacheck
这个命令的主要目的是扫描某个磁盘的配额空间,它会针对分区进行扫描,并且,由于该磁盘持续欲行,可能扫描过程中文件会增加,造成磁盘配额扫描错误,因此,当使用quotacheck时,该磁盘将“自动被设置为只读扇区”;扫描完毕后,扫描所得的磁盘空间结果会写入该区最顶端(aquota.user与aquota.group)
# quotacheck -cug //扫描分区,并生成配额信息文件
-a:扫描所有在/etc/mtab内含有磁盘配额支持的文件系统,加上此参数,可以不写/mount_point
-v:显示扫描过程
-u:针对用户扫描文件与目录的使用情况,会建立quota.user
-g:针对组扫描文件及与目录的使用情况,会建立quota.group
-c :代表创建
Ps:如果提示不能quotacheck,权限不足,此时的原因是因为SElinux ,关闭它就能创建了。
3. 4: edquota
这个文件时编辑每一个“用户”或者“用户组”的磁盘配额数值。通常我们以edquota -u username或者是edquota -g groupname来编辑个人与用户组的磁盘配额值,不过这样一个一个分配很慢。也可以直接复制一个人的设置给另外一个人。用edquota -p user1 -u user2,下面介绍编辑时,里面的几个值
。filesystem:代表这个磁盘是针对哪个分区
。blocks:这个是当前用户在文件系统上所消耗的磁盘数量,也就是当前用户使用的空间,单位是KB
-u:配置用户的磁盘配额
-g:配置组的磁盘配额
-p:复制磁盘配额设定,从一个用户到另一个用户
-t:修改宽限时间,可以针对分区
# edquota -u test1 //配置test1的磁盘配额
# edquota -p test1 -u test2 //将test1的配置服务之test2
#edquota -t //修改宽限时间 可以针对每个分区
3.5. quotaon
这个命令是启动磁盘配额,不过,由于这个命令是启动aquota.group与aquota.user的,所以必须要先完成quotacheck的工作,然后执行quota -a即可启动
-u:针对用户启动磁盘配额
-g:针对用户组启动磁盘配额
-v:显示启动过程的相关信息
-a:根据/etc/mtab内的文件系统设置启动相关的磁盘配额,若不加-a的话,则后面就需要加上特定的文件系统
#quota -avug //启动所有的磁盘配额
#quota -uv /data //启动/data里面的用户磁盘配额设置
3.6. quotaoff
-a:全部文件系统的磁盘配额都关闭
-u:关闭用户的磁盘配额
-g:关闭组的磁盘配额
#quotaoff -a //全部关闭
#quotaoff -u /data //关闭/data的用户磁盘配额设置值
利用mount命令挂装一个文件系统并将其写入/etc/fstab文件,如何写入 直接通过 mount > /etc/fstab?
mount /dev/sda1 /mnt #此命令用于挂载设备
下面这两条命令用于fstab文件的备份以及你要求的写入fstab
cp /etc/fstab /etc/fstab.back
echo "/dev/sda1 /mnt ext4 defaults 0 0" >> /etc/fstab
这样可以么