一、用户的登录

1、建虚拟帐号

[root@zyx ~]# cd /etc/vsftpd/
[root@zyx vsftpd]# vim viruser.txt

image

2、安装db4工具

[root@zyx vsftpd]# cd /mnt/cdrom/Server/ //切换到光盘目录下
[root@zyx Server]# ll db* //查看与db相关的软件

image

[root@zyx Server]# rpm -ivh db4-utils-4.3.29-10.el5.i386.rpm   //安装此软件

warning: db4-utils-4.3.29-10.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing...                ########################################### [100%]
   1:db4-utils              ########################################### [100%]

[root@zyx Server]# cd /etc/vsftpd/ //切换到vsftpd目录
[root@zyx vsftpd]# ll

image

3、虚拟帐号所在的文件转换为数据库

[root@zyx vsftpd]# db_load -T -t hash -f viruser.txt viruser.db  //生成数据库文件

image

4、编辑vsftp的配置脚本

[root@zyx vsftpd]# vim /etc/pam.d/vsftpd   //编辑配置文件

image

[root@zyx vsftpd]# ll /etc/vsftpd/viruser.*
-rw-r--r-- 1 root root 12288 Sep 20 23:18 /etc/vsftpd/viruser.db
-rw-r--r-- 1 root root    16 Sep 20 23:12 /etc/vsftpd/viruser.txt

5、建立真实用户

image

6、重启vsftp服务

[root@zyx vsftpd]# service vsftpd restart
Shutting down vsftpd:                                      [  OK  ]
Starting vsftpd for vsftpd:                                [  OK  ]

测试:

虚拟帐号登录

成功登录,但没有权限查看此目录下的文件

image

7、修改文件权限

[root@zyx vsftpd]# cd /home/
[root@zyx home]# chmod a+rx user1

虚拟帐号登录

成功登录,有权限查看此目录下的文件

image

二、磁盘配额

1、上传下载的速度

恢复vsftpd文件

[root@zyx home]# mkdir /tmp/abc //新建文件目录
[root@zyx home]# cd /tmp/abc/
[root@zyx abc]# cp /mnt/cdrom/Server/vsftpd-2.0.5-16.el5.i386.rpm ./  //将vsftpd-2.0.5-16.el5.i386.rpm 拷贝到当前文件目录

image

[root@zyx abc]# rpm2cpio vsftpd-2.0.5-16.el5.i386.rpm |cpio -id
589 blocks
[root@zyx abc]# ll

image

[root@zyx abc]# cd etc/
[root@zyx etc]# ll

image

[root@zyx etc]# cd pam.d/
[root@zyx pam.d]# ll
total 4
-rw-r--r-- 1 root root 329 Sep 21 00:37 vsftpd
[root@zyx pam.d]# cp vsftpd /etc/pam.d/    //将vsftp文件拷贝成/etc/pam.d/

cp: overwrite `/etc/pam.d/vsftpd'? y
[root@zyx pam.d]# vim /etc/pam.d/vsftpd  //编辑vsftp配置脚本

image

2、本地速率1M/S,匿名100k/s

[root@zyx pam.d]# vim /etc/vsftpd/vsftpd.conf    //本地速率1M/S,匿名100k/s

image

[root@zyx pam.d]# service vsftpd restart  //重启服务
Shutting down vsftpd:                                      [ OK  ]
Starting vsftpd for vsftpd:                                [  OK  ]

[root@zyx pam.d]# cd /var/ftp/pub

[root@zyx pub]# dd if=/dev/zero of=qq bs=1M count=1  //在此目录下新建一个文件名为qq,大小为1M的文件
1+0 records in
1+0 records out
1048576 bytes (1.0 MB) copied, 0.00131997 seconds, 794 MB/s

 

[root@zyx pub]# ll  //查看此目录下的文件
total 1028
-rw----r-- 1 ftp  ftp        0 Sep 20 14:54 123.txt
-rw-r--r-- 1 root root 1048576 Sep 21 01:12 qq
-rw----r-- 1 ftp  ftp        0 Sep 20 14:20 zyx.txt
[root@zyx pub]# cp qq /home/user1  //将文件qq拷贝到/home/user1 目录下

测试:

匿名登录

image

用户user1登录

image

3、在线用户数量100,每用户连接数2(此处可以将用户数量设置少数测试,本处测试省略)

image

[root@zyx pub]# service vsftpd restart  //重启服务
Shutting down vsftpd:                                      [ OK  ]
Starting vsftpd for vsftpd:                                [ OK  ]

4、用户访问时间的配置

[root@zyx ~]# vim /etc/vsftpd/chroot_list
[root@zyx ~]# cp /usr/share/doc/vsftpd-2.0.5/vsftpd.xinetd /etc/xinetd.d/vsftpd  //拷贝并生成文件
[root@zyx ~]# vim /etc/xinetd.d/vsftpd    //编辑此脚本文件

image

[root@zyx ~]# vim /etc/vsftpd/vsftpd.conf   //编辑vsftpd的配置脚本

image

image

image

测试:

匿名访问

image

user1访问

image

image

 

5、用户的私有空间及限制(磁盘配额):

新增硬盘

image

image

查看新增磁盘是否分区

[root@zyx ~]# fdisk  -l

image

[root@zyx ~]# fdisk /dev/sdb  //查看相关配置命令

image

新建分区

image

[root@zyx ~]# partprobe /dev/sdb1   //让系统重新识别磁盘

root@zyx ~]# mkfs -t ext3 /dev/sdb1  //磁盘格式化

限制用户空间

[root@zyx ~]# cd /mnt/ 
[root@zyx mnt]# mkdir ftp
[root@zyx mnt]# mount /dev/sdb1 /mnt/ftp/  //挂载此目录
[root@zyx mnt]# vim /etc/fstab

 

image

[root@zyx ftp]# edquota -u user1  //配置user1的磁盘空间

image

[root@zyx ftp]# edquota -u user2  //配置user1的磁盘空间

image

[root@zyx ~]# quotaon /dev/sdb1
[root@zyx ~]# vim /etc/rc.d/rc.local

image

[root@zyx /]# cd /mnt/ftp/
[root@zyx ftp]# vim /etc/passwd

image

[root@zyx ftp]# mkdir home
[root@zyx ftp]# mv /home/* ./home/

image

[root@zyx ftp]# vim /etc/vsftpd/chroot_list

image