实验要求:

1.搭建ftp服务器,其主目录是在基于RAID构建LVM的逻辑卷上,主目录为/mnt/lvm/ftp/pub

    2.测试用户为本地用户但没有本地登录的权限,其主目录均是在/mnt/lvm/home下以自己用户名生成的目录;

    3.每个用户仅允许访问自己的家目录并不允许切换目录

    4.为保证公司网络环境的畅通,限制文件的传输速度,本地用户为1M/s,匿名为100kb/s

    5.为每个用户设置磁盘配额,软限为10M,硬限为12M.

实验步骤:

  1.创建利用在RAID上面构建LVM,并将创建的逻辑卷raidvg挂载到/mnt/lvm下,启用磁盘配额;示意图如下:

     1)用mdadm --create  --auto=yes /dev/md0  --level=5 --raid-devices=3  --spare-devices=1 /dev/sd{b,c,d,e}

     2)用mdadm  --detail /dev/md0  查看磁盘阵列情况

     3)格式化/dev/md0,mkfs -t ext3 /dev/md0

      pvcreate  /dev/md0

      vgcreate raidvg /dev/md0

       lvcreate -l 4000 -n raidlv raidvg

     mkfs -t ext3 /dev/raidvg/raidlv

     cat /proc/partitions  可以用 partprobe  /dev/sdb 命令分区同步

     4)设置永久挂载并开启磁盘配额,usrquota,grpquota 

     修改/etc/fstab添加如下图:

/dev/raidvg/raidlv  /mnt/lvm   ext3   defaults,usrquota,grpquota  0 0

     5)mount  -a 或mount -o remount /dev/raidvg/raidlv 重新挂载/etc/fstab目录下的文件系统

     6)用quotacheck -auvg 或/dev/md0或是挂载点/mnt/lvm

     7)创建ftp1、ftp2两个用户,并不要忘了更改各自的目录所有者与所属组,因为本地权限网络权限不同的,即便是你在ftp的配置文件中启用"write_enable=YES",而实际上你以ftp1登录时,在未改所有者之前其家目录的所有者是root,而ftp1相当于属于其他组仍然是不能执行写的操作,一定要仔细思考,明白了吧,^_^

[root@host home]#useradd -D -d /mnt/lvm/home  (修改创建用户的默认家目录)

[root@host home]#useradd -s /sbin/nologin  ftp1

[root@host home]#useradd -s /sbin/nologin  ftp2

[root@host home]#echo "123" | passwd  --stdin  ftp1

[root@host home]#echo "123" | passwd  --stdin  ftp2

     8)用edquota -u ftp1 可直接用edquota -p ftp1 -u ftp2使ftp2与ftp1是相同的磁盘配额限制,

     9)用quotaon  -avug 或是/dev/md0启动quota服务(可用quota和requota来查看quota的限制值的报表情况)

注:对raid和lvm不理解的可查看通过RAID实现LVMLVM的应用与管理相关博文

2.安装vsftp服务,yum install 

     1) 为满足要求修改/etc/vsftpd/vsftpd.conf配置文件 vsftpd.conf,添加如下内容:

anon_root=/mnt/lvm/ftp/pub  #匿名用户的主目录

chroot_list_enable=YES        #启用chroot表,

chroot_list_file=/etc/vsftpd/chroot_list  #chroot_list中的用户不可任意切换目录

local_enable=YES             #本地用户可以登录

write_enable=YES             #本地用户可写

anon_max_rate=100000       #匿名用户的最大传输速率100kb/s

local_max_rate=1000000      #本地用户的最大传输速率1M/s

max_clients=3                #允许同时连接最多的客户端为3,方便测试实验效果

max_per_ip=2                #允许每个ip可同时连接的为2

     2)编辑chroot_list文件,在其中加入ftp1、ftp2两个用户,一行一个用户;

     3)由实验要求创建相关的文件与目录,并如下图创建各自目录的标志性文件,方便测试时区分;

3.测试阶段(对于vsftp的配置文件的修改可以整体测试,也可以逐句进行测试)

  1)对ftp1用户的磁盘配额做测试如下: quota-ftp1测试

发现上传过一个8.98M的东西后,再传一个3-4M就会出现如下图的错误,因为已经超出的给用户规定的磁盘配额。

 

  2)当想建立第4个连接的时候就会如下图提示:(因为配置文件设置的最多同时连接数为3) 

关闭所有ftp的连接,在一台客户机测试,发现请求第3个连接时就会出现421错误:

3)创建一个10M的文件方便测试速率,并复制一份给ftp1的主目录;dd-1.png

 a.以ftp1登录ftp服务器,下载刚创建10M的文件,观传输速率;

传输速率大概为1M/s,

b.以anonymous登录ftp服务器,也同样下载刚创建10M的文件,观传输速率;

传输速率为170kb/s相对有些范围误差,测试正常。

实验结束