单服务器上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
- 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
二.参数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
- 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
三.重启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
到此配置完成,可以测试了。测试是成功的