centOS7.3 搭建ftp服务器经常遇到的坑

论坛 期权论坛 编程之家     
选择匿名的用户   2021-6-2 15:56   894   0

一、安装ftp服务器

1.通过yum命令安装

yum install vsftpd 

2.安装成功之后就是配置ftp用户比如zhangsan

useradd -g root -d /home/wwwroot  -s /sbin/nologin zhangsan

如果提示目录已存在,不需要理会,继续往下

3.为zhangsan设置密码

passwd zhangsan

4.设置权限

chown -R  zhangsan:root /home/wwwroot

5.修改vsftp配置文件,禁止匿名登录

vi /etc/vsftpd/vsftpd.conf

把:anonymous_enable=YES 改为: anonymous_enable=NO

按ESC 输入 :wq 保存退出

二、配置ftp服务器

1.开启防火墙,添加放行端口21

firewall-cmd --zone=public --add-port=21/tcp --permanent

firewall-cmd --permanent --zone=public --add-service=ftp

firewall-cmd --reload

2.开启SELinux并设置

vi /etc/selinux/config

更改为:SELINUX=1

必须重启linux,不重启是没办法立刻开启selinux的。

3.重启ftp,远程ftp服务器测试是否成功

systemctl restart vsftpd.service

如果这个时候远程提示

-----------------------------------331 Please specify the password------------------------------------

ftp远程提示530错误

root

响应:331 Please specify the password.

命令:PASS ********************

响应:530 Login incorrect

错误:严重错误,无法连接到服务器

-----------------------------------331 Please specify the password------------------------------------

3.1执行如下命令

getsebool -a | grep ftp

3.2找到 tftp_home_dir –> off 这一行,需要把后面的off改成1,通过下面的代码修改

setsebool -P tftp_home_dir=1

3.3.检查/etc/vsftpd/vsftpd.conf配置

vim /etc/vsftpd/vsftpd.conf

看下面配置

local_enable=YES  
pam_service_name=vsftpd
userlist_enable=YES
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list

没有chroot_list就新建一个,在里面输入用户名,一行为一个用户,也可以不要这个东西测试


3.4.检查/etc/pam.d/vsftp

vim /etc/pam.d/vsftpd

注释掉

#auth required pam_shells.so 这个很重要

3.5重启ftp服务器再测试ftp远程登录

如果提示vsftpd连接报错:500 OOPS: vsftpd

-----------------------------------500 OOPS: vsftpd------------------------------------

root

响应:331 Please specify the password.

命令:PASS ********************

响应:500 OOPS: vsftpd:refusing to run with writable root inside chroot()

错误:严重错误,无法连接到服务器

-----------------------------------500 OOPS: vsftpd------------------------------------

在服务器上修改Vsftpd的配置文件vsftpd.conf

vim /etc/vsftpd/vsftpd.conf

# 添加一行配置 allow_writeable_chroot=YES

4.测试如果Filezilla 提示—–服务器发回了不可路由的地址,使用服务器地址代替

解决方法:更改Filezilla设置,编辑 - 设置 - 连接-FTP-被动模式,将“使用服务器的外部IP地址来代替”改为“回到主动模式”即可。

分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP