centos7安装部署vsftpd详细教程(已踩坑亲测)

直接上菜:

本次搭建使用的是被动模式,主动模式修改配置即可。

1、更新软件包(可选)

sudo yum update

2、安装vsftpd

sudo yum install vsftpd

3、配置 vsftpd

建议先备份下原始配置文件,免得到时候有问题还原老火(可选)

sudo cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak

4、编辑 vsftpd 配置文件:

sudo vi /etc/vsftpd/vsftpd.conf

确认以下key-value对应正确:

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
chroot_local_user=YES
allow_writeable_chroot=YES
listen=YES
listen_ipv6=NO
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
local_root=/home/$USER
user_sub_token=$USER
userlist_deny=NO
userlist_file=/etc/vsftpd/user_list
## 主动模式忽略以下三个配置
pasv_enable=YES
pasv_min_port=30010 # 端口范围 被动模式需要
pasv_max_port=30015 # 端口范围
pasv_address={{vsftpd服务器的公网IP}}

5、重启vsftp服务

sudo systemctl restart vsftpd

6、打开端口

如果是firewall:

sudo firewall-cmd --permanent --add-port=21/tcp
sudo firewall-cmd --permanent --add-service=ftp
sudo firewall-cmd --reload

如果是iptables:

sudo iptables -A INPUT -p tcp --dport 20 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 21 -j ACCEPT

条件允许的情况下,可以先把防火墙关闭了,等调试完成后再开防火墙;

被动模式还需要将端口范围的端口都放开;

自定义ftp端口,自行修改

7、创建FTP用户

假设用户名为:ftpuser

sudo adduser ftpuser
sudo passwd ftpuser

 8、创建FTP目录并设置权限

sudo mkdir -p /home/ftpuser/ftp
sudo chown -R ftpuser:ftpuser /home/ftpuser/ftp
sudo chmod 755 /home/ftpuser/ftp

接下来就可以测试登录了。

问题排查:

1、如果你禁止了ftp用户通过ssh登录(执行过这个命令:sudo chsh -s /sbin/nologin ftpuser),有可能会被拒绝登录,

解决办法:

方法一:  要么开放ftp用户允许ssh登录,这种做法不推荐,不介意当我没说

方法二:  将 /sbin/nologin 添加到 /etc/shells 文件中

echo "/sbin/nologin" | sudo tee -a /etc/shells

 方法三:修改 PAM 配置文件

vi /etc/pam.d/vsftpd

 注释掉或删除以下行

#auth    required        pam_shells.so

 2、仍然拒绝登录

检查FTP用户是否被正确添加到 /etc/vsftpd/user_list 文件中

且 FTP用户未被列在 /etc/vsftpd/ftpusers 文件中

最后重启vsftpd

sudo systemctl restart vsftpd

要是还有问题,先查看下vsftpd的日志:

sudo journalctl -u vsftpd -f

日志都不能排查,用工具抓包看看。

实在不行,Q我(擦汗~~!)

  • 8
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值