单台centos机器启动多个vsftpd服务

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了单台centos机器启动多个vsftpd服务相关的知识,希望对你有一定的参考价值。

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

例如:
系统用户:
[[email protected] 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主配置文件:
[[email protected] ~]# 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密码文件:

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

1.3管理账户权限目录
[[email protected] 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

[[email protected] 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
[[email protected] ~]# cd /etc/vsftpd/

[[email protected] 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
[[email protected] 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配置文件:
[[email protected] 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主配置文件:
[[email protected] 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密码文件:
[[email protected] wangwuweb]# cat /etc/vsftpd/vsftpd_login

drxiaowu
Zk+weetuHJ5fd45!9
yanyonG
ZkJO=+wuwefh5Fdsa9

2.3管理账户权限目录:
[[email protected] 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

[[email protected] 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
[[email protected] 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配置文件
[[email protected] 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的配置文件

[[email protected] wangwuweb]# /etc/init.d/vsftpd restart
Shutting down vsftpd:                                      [FAILED]
Starting vsftpd for 11vsftpd:                              [  OK  ]
Starting vsftpd for vsftpd:                                [  OK  ]
[[email protected] 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实例

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

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

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

以上是关于单台centos机器启动多个vsftpd服务的主要内容,如果未能解决你的问题,请参考以下文章

centos搭建FTP文件服务

Centos搭建FTP服务

腾讯云服务器基于centos7搭建ftp服务器(vsftpd)

centos搭建FTP服务

帮忙设置Centos上vsftpd的配置

Centos创建ftp服务器