实验目的:Linux服务器主机可以为许多用户同时提供服务,为了对Linux主机的磁盘空间进行有效的管理,我们添加了一块新磁盘,并针对该磁盘实现磁盘限额功能,并对用户zeng1进行磁盘限额设置,为了验证试验的效果,我把软限制的容量为10K,硬限制的容量为12K,文件限制为3(软)和4(硬)
实验环境:安装了Linux系统的虚拟机一台.
试验目的:修改fstab文件实现磁盘的开机自动挂载.
能够建立配额文件.
能够为指定用户设置配额.
能够验证已经设置用户配额.
大致的试验步骤如下:
- 添加磁盘,分区格式化.
- 挂载磁盘.
- 生成磁盘配额数据库.
- 激活配额项.
- (可选)设置宽限时间.
下面就开始详细的实验讲解了,详细步骤如下
(一)、使用shutdown -h now关闭系统,编辑虚拟机的参数设置,新添加一块SCSI磁盘.启动系统.
(二)、使用fdisk -l查看被系统识别的硬盘信息,会显示所有被识别的磁盘,包括我刚才添加的磁盘,从图片中可以看出该盘还没有被分区格式化.
(三)、使用fdisk /dev/sdb,回车后,使用m查看命令用法,输入n进行磁盘分区,会有e、p两个选项来选择主分区和扩展分区,使用l在扩展分区下建立逻辑分区,本例我建立一个主分区,在扩展分区下建立一个逻辑分区.分区完成后敲p键可以查看分区后的内容,使用w可保存并退出界面.
创建主分区,查看帮助文件的内容,创建扩展分区
创建逻辑分区并保存磁盘分区,然后再次用fdisk -l查看
(四)、我们对磁盘的第一个分区即sdb1进行格式化,使用命令mkfs -t ext3 /dev/sdb1 ,建立文件系统,mkfs是make file system的缩写.如果看到lost found证明格式化成功.
(五)、挂载磁盘分区的同时加选项保证可以用磁盘配额,先使用命令rpm -qa |grep quota查看该软件包是否安装,要实现磁盘配额,在系统中安装quota软件包.然后使用下面的命令进行挂载:mount -o usrquota,grpquota /dev/sdb1 /sdb1,这里我是把新添加的磁盘的第一个分区挂载到根目录下的sdb1文件夹里,在此之前在根分区下用mkdir sdb1创建该文件夹
(六)、设置磁盘随开机而自动挂载,修改挂载所在的配置文件,使用命令vi /etc/fstab,如果只修改配置文件而不用mount挂载,那么设置在重启后生效.
挂载完成后,按esc键推到命令模式,然后使用:wq保存并退出.
(七)、使用quotacheck命令生成磁盘配额数据库文件,quotacheck -cmug /sdb1,执行后在/sdb1下生成两个数据库文件quota.group quota.user,这里面要注意,如果原先已经有了数据库文件,并且执行的是quotacheck -ug /sdb1,那么不会再创建数据库文件,但是本例加上了cm选项,表示数据库要重新创建和重新加载
(八)、设置具体的磁盘配额,在此之前要先创建一个用户zeng1,作为验证用户.使用命令edquota -u zeng1(针对某一个用户的配额),回车后进入vi环境进行编辑,修改的内容如下图
先创建用户,并设置该用户对sdb1的写的权限,使用chmod命令
做具体的配额,使用wq保存并退出
(九)、默认的磁盘配额是不会生效的,这个时候要激活一下磁盘配额,使用命令quotaon -ug /sdb1,当然也可以使用quotaoff关闭配额
当然这个时候我们用quota -u zeng1查看该用户的配额是看不到的,需要使用命令su zeng1切换到zeng1用户,用该用户做个小小的操作比如建个文件,让zeng1用户在终端登录一次,然后再回到root上用zeng1就可以看到了,同时相应的配额项也生效
在第八步中,我提到过要给用户zeng1对sdb1目录读写的权限,如果不给的话,那么zeng1登录后访问sdb1目录会报错:access denied权限被拒绝.
(十)、我们使用zeng1登录,进入到sdb1目录,验证一下磁盘配额是否生效,这里验证文件限制
到此为止,添加新磁盘做磁盘配额的试验全部完成,我们知道对磁盘进行限制分为软限制和硬限制,其中软限制的默认期限为7天,即7天之内超出该软限制可以原谅,但是七天之后就不行了,我们可以用下面这个命令修改默认的限制时间:edquota -t
|