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

该教程详细介绍了如何在CentOS7系统上为vsftpd设置多个独立的服务实例,包括创建新用户、配置不同端口和权限、管理用户目录、设置日志文件、创建PAM配置以及启动和防火墙设置。每个服务实例都有其特定的配置文件、监听端口和用户权限,确保了服务间的隔离和安全性。
摘要由CSDN通过智能技术生成

参考资料

单台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服务

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值