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