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

参考资料

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

前置条件

  • centos7
  • 已安装vsftpd
yum install vsftpd

新建用于管理vsftpd的用户

useradd -c "FTP User" -d /home/vsftpd2 -s /sbin/nologin vsftpd2 
passwd vsftpd2 

新建配置文件

/etc/vsftpd/vsftpd2/vsftpd2.conf

anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
connect_from_port_20=YES
# 日志文件 自定义
xferlog_enable=YES
xferlog_std_format=YES
xferlog_file=/var/log/vsftpd2_xferlog
dual_log_enable=YES
vsftpd_log_file=/var/log/vsftpd2.log
allow_writeable_chroot=YES
listen=YES
# ftp监听端口 自定义
listen_port=10022
pasv_min_port=38000
pasv_max_port=39000
# 公网ip或者内网ip 自定义
pasv_address=xx.xx.xx.xx
#listen_data_port=1039
# 权限相关的名称(重要)自定义
pam_service_name=vsftpd2
userlist_enable=YES
tcp_wrappers=YES
check_shell=YES
chroot_local_user=YES
guest_enable=YES
# 上一步创建的用户
guest_username=vsftpd2
virtual_use_local_privs=YES
# 用户配置目录,自定义
user_config_dir=/etc/vsftpd/vsftpd2/user_conf

密码文件

/etc/vsftpd/vsftpd2/password.txt

test01
fdslfklsdfmsdflsdf222
test02
fdskwperpwejrmkld99

管理目录权限账号

  • /etc/vsftpd/vsftpd2/user_conf/test01
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/vsftpd2/test01
max_clients=5
max_per_ip=5
local_max_rate=50000
  • /etc/vsftpd/vsftpd2/user_conf/test02
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/vsftpd2/test02
max_clients=5
max_per_ip=5
local_max_rate=50000
  • 创建存储目录,修改权限
mkdir /data/vsftpd2/test01
chown vsftpd2:vsftpd2 /data/vsftpd2/test01
mkdir /data/vsftpd2/test02
chown vsftpd2:vsftpd2 /data/vsftpd2/test02

生成账户的文件数据库

cd /etc/vsftpd/vsftpd2
db_load -T -t hash -f password.txt /etc/vsftpd/vsftpd2/vsftpd2_login.db

修改文件数据库访问权限

chown 600 /etc/vsftpd/vsftpd2/vsftpd2_login.db

手工建立虚拟用户所需的PAM配置文件

/etc/pam.d/vsftpd2

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

创建linux系统服务

# 查看vsftpd服务配置文件的位置
systemctl status vsftpd
# 复制配置文件
cp /usr/lib/systemd/system/vsftpd.service /usr/lib/systemd/system/vsftpd2.service
  • 修改/usr/lib/systemd/system/vsftpd2.service如下
[Unit]
Description=Vsftpd2 ftp daemon
After=network.target

[Service]
Type=forking
ExecStart=/usr/sbin/vsftpd /etc/vsftpd/vsftpd2/vsftpd2.conf

[Install]
WantedBy=multi-user.target
  • 启动,设置开机启动
systemctl start vsftpd2
systemctl enable vsftpd2

开启防火墙

firewall-cmd --permanent --zone=public --add-port=38000-39000/tcp
firewall-cmd --permanent --zone=public --add-port=10022/tcp
firewall-cmd --reload

结语

按照此方法,可以启动多个vsftpd服务,而且不会影响已经安装的vsftpd服务

  • 0
    点赞
  • 0
    收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页
评论

打赏作者

newdas123

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值