虚拟用户账号是为了保证FTP服务器的安全性,由vsftpd服务器提供的非系统用户账号。虚拟用户FTP登录后把指定的目录作为FTP根目录。虚拟用户与本地用户具有类似的功能,由于虚拟用户相对安全,因此正逐步替代本地用户账号。
vsftpd虚拟用户账号设置过程:
⑴ 建立虚拟账号库文件。
⑵ 生成vsftpd的认证数据库文件。
⑶ 建立虚拟用户所需的PAM配置文件。
⑷ 建立虚拟用户所要访问的目录并设置相应权限。
⑸ 设置vsftpd.conf配置文件。
一:安装vsftp服务器:
[root@lyt ~]# mkdir /mnt/cdrom
[root@lyt ~]# mount /dev/cdrom /mnt/cdrom/
[root@lyt ~]# cd /mnt/cdrom/Server/
[root@lyt Server]# rpm -ivh vsftpd-2.0.5-16.el5.i386.rpm #安装vsftp主程序
[root@lyt Server]# service vsftpd start
[root@lyt Server]# chkconfig vsftpd on #设置开机自动启动
二:创建虚拟账号库:
[root@lyt Server]# cd /etc/vsftpd/
[root@lyt vsftpd]# vim viruser.txt #创建虚拟的账号库文件
三:生成vsftp的认证数据库文件:(使用db_load命令)
[root@lyt Server]# rpm -ivh db4-utils-4.3.29-10.el5.i386.rpm #安装包含db_load命令的软件包
[root@lyt Server]# db_load -T -t hash –f /etc/vsftpd/viruser.txt /etc/vsftpd/viruser.db #使用该指令将viruser.txt文件转换为认证数据库文件viruser.db
[root@lyt Server]# cd /etc/vsftpd/
[root@lyt vsftpd]# vim /etc/pam.d/vsftpd
四:创建虚拟用户所要访问的目录并设置相应权限
[root@lyt vsftpd]# useradd user1 #新建用户user1
[root@lyt vsftpd]# passwd user1
[root@lyt vsftpd]# cd /home/user1/
[root@lyt user1]# touch f1 #在user1的家目录中创建文件f1
[root@lyt user1]# chmod 755 /home/user1/
[root@lyt vsftpd]# vim /etc/vsftpd/vsftpd.conf
[root@lyt vsftpd]# service vsftpd restart
附:
1:使用本地账户和匿名账户登录查看下载速率:
[root@lyt Server]# mkdir /tmp/qq #创建一个目录qq
[root@lyt Server]# cd /tmp/qq/
[root@lyt qq]# rpm2cpio /mnt/cdrom/Server/vsftpd-2.0.5-16.el5.i386.rpm |cpio –id #将vsftp包拆解
[root@lyt qq]# cd etc/pam.d/
[root@lyt pam.d]# cp vsftpd /etc/pam.d/
[root@lyt pam.d]# vim /etc/vsftpd/vsftpd.conf
[root@lyt pam.d]# service vsftpd restart
[root@lyt pam.d]# cd /var/ftp/pub/
[root@lyt pub]# dd if=/dev/zero of=f1 bs=1M count=1 #在匿名目录中创建一个1M大小的文件f1
[root@lyt pub]# cp f1 /home/user1/ #将该文件拷贝到本地用户user1的家目录中
测试:
笔者在使用本地用户user1登录后下载时出现了一点小问题,这里交给笔者探讨解决:
2:同时在线的用户数量:
[root@lyt pub]# vim /etc/vsftpd/vsftpd.conf
[root@lyt pub]# service vsftpd restart
测试:
3:限制每个ip地址的最大连接数:
[root@lyt pub]# vim /etc/vsftpd/vsftpd.conf
[root@lyt pub]# service vsftpd restart