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