单服务器上vsftpd服务指定不同的端口以及不同的系统用户,来启动多个vsftpd服务。
单服务器上实现不同的系统用户来指定多个不同的虚拟用户来管理多站点目录(各个站点目录的权限是不同的系统用户的权限,例如:www,apache权限)

例如:
系统用户:
[root@cacti vsftpd]# egrep "www|apache" /etc/passwd
apache:x:48:48:Apache:/var/www/html:/bin/false
www:x:668:669::/data/www:/bin/false

一.参数guest_username=www 时的配置实例以及过程如下:

1.1主配置文件:
[root@cacti ~]# cat /etc/vsftpd/11vsftpd.conf

anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
xferlog_file=/var/log/xferlog

listen=YES
listen_port=1294
pasv_min_port=100
pasv_max_port=3000
#listen_data_port=1039
pam_service_name=11vsftpd
userlist_enable=YES
tcp_wrappers=YES
check_shell=YES
chroot_local_user=YES
guest_enable=YES
#guest_username=apache
guest_username=www
virtual_use_local_privs=YES
#user_config_dir=/etc/vsftpd/extra
user_config_dir=/etc/vsftpd/extra01

1.2密码文件:

[root@cacti ~]# cat /etc/vsftpd/vsftpd.txt 
Lisan
Zyt+6&wweerer9
ZhangSan
Zystaw+&60asdfr7

1.3管理账户权限目录
[root@cacti vsftpd]# cat /etc/vsftpd/extra01/ZhangSan

write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
local_root=/data/www/wangwuweb
max_clients=1
max_per_ip=2
local_max_rate=50000

[root@cacti vsftpd]# cat /etc/vsftpd/extra01/Lisan

write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
local_root=/data/www/txtweb
xferlog_file=/var/log/xferlog
max_clients=1
max_per_ip=2
local_max_rate=50000
[root@cacti ~]# cd /etc/vsftpd/

[root@cacti vsftpd]# ls
11vsftpd.conf  11vsftpd_login.db  extra  extra01  ftpusers  user_list  vsftpd.conf  vsftpd.conf.bak  vsftpd_conf_migrate.sh  vsftpd_login  vsftpd_login.db  vsftpd.txt

1.4生成帐户的文件数据库:

db_load -T -t hash -f vsftpd_login /etc/vsftpd/vsftpd_login.d
[root@cacti vsftpd]#db_load -T -t hash -f vsftpd.txt /etc/vsftpd/11vsftpd_login.db

1.5修改文件数据库访问权限
chmod 600 /etc/vsftpd/vsftpd_login.db
1.6手工建立虚拟用户所需的PAM配置文件:
[root@cacti wangwuweb]# cat /etc/pam.d/11vsftpd

auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/11vsftpd_login
account required  /lib64/security/pam_userdb.so db=/etc/vsftpd/11vsftpd_login

二.参数guest_username=apache 时的配置实例以及过程如下:

2.1主配置文件:
[root@cacti wangwuweb]# cat /etc/vsftpd/vsftpd.conf

anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
xferlog_file=/var/log/xferlog

listen=YES
listen_port=1208
pasv_min_port=100
pasv_max_port=3000
#listen_data_port=1039
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
check_shell=YES
chroot_local_user=YES
guest_enable=YES
guest_username=apache
#guest_username=www
virtual_use_local_privs=YES
user_config_dir=/etc/vsftpd/extra
#user_config_dir=/etc/vsftpd/extra01

2.2密码文件:
[root@cacti wangwuweb]# cat /etc/vsftpd/vsftpd_login

drxiaowu
Zk+weetuHJ5fd45!9
yanyonG
ZkJO=+wuwefh5Fdsa9

2.3管理账户权限目录:
[root@cacti wangwuweb]# cat /etc/vsftpd/extra/drxiaowu

local_root=/var/www/html/cacti
write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
idle_session_timeout=600
data_connection_timeout=120
max_clients=3
max_per_ip=3
local_max_rate=50000

[root@cacti wangwuweb]# vim /etc/vsftpd/extra/yanyonG

local_root=/var/www/html/drtest01
write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
max_clients=1
max_per_ip=1
local_max_rate=50000

2.4生成帐户的文件数据库:

db_load -T -t hash -f vsftpd_login /etc/vsftpd/vsftpd_login.db
[root@cacti vsftpd]#db_load -T -t hash -f vsftpd.txt /etc/vsftpd/11vsftpd_login.db

2.5修改文件数据库访问权限:
chmod 600 /etc/vsftpd/vsftpd_login.db
2.6手工建立虚拟用户所需的PAM配置文件
[root@cacti wangwuweb]# cat /etc/pam.d/vsftpd

auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account required  /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

三.重启vsftpd服务:

重启vsftpd服务,会加载两个vsftpd.conf的配置文件

[root@cacti wangwuweb]# /etc/init.d/vsftpd restart
Shutting down vsftpd:                                      [FAILED]
Starting vsftpd for 11vsftpd:                              [  OK  ]
Starting vsftpd for vsftpd:                                [  OK  ]
[root@cacti wangwuweb]# ps -ef|grep vsftpd
root      3214     1  0 17:36 ?        00:00:00 /usr/sbin/vsftpd /etc/vsftpd/11vsftpd.conf
root      3220     1  0 17:36 ?        00:00:00 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf

同时也可以/usr/sbin/vsftpd /etc/vsftpd/11vsftpd.conf 这个启动例外一个新的vsftpd实例

四.开启防火墙发开动态端口的范围:

[root@cacti html]# cat /etc/sysconfig/iptables
-A INPUT -p tcp -m state --state NEW -m tcp --dport 100:3000 -j ACCEPT 

到此配置完成,可以测试了。测试是成功的