CentOS7搭建FTP服务器

重要的事情说三遍

  • 修改/etc/selinux/config文件中的SELINUX="" 为disabled ,然后重启
  • 修改/etc/selinux/config文件中的SELINUX="" 为disabled ,然后重启
  • 修改/etc/selinux/config文件中的SELINUX="" 为disabled ,然后重启

安装FTP服务器

1、安装ftp server
yum install -y vsftpd
2、备份ftp server 配置文件
cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak

FTP配置

vim /etc/vsftpd/vsftpd.conf
anonymous_enable=YES #允许匿名用户登录
anon_root=/srv/anon #匿名用户登录路径

local_enable=YES #允许本地用户登录
local_root=/srv/local #本地用户登录路径
write_enable=YES #本地用户是否可以写入
anon_upload_enable=NO #匿名用户是否可以上传
anon_mkdir_write_enable=NO #匿名用户是否可以创建文件夹
chroot_list_file=/etc/vsftpd/chroot_list #开启这个标签的话需要创建chroot_list文件


write_enable=YES
local_umask=022
anon_upload_enable=YES
anon_mkdir_write_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
listen=NO
listen_ipv6=YES

pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
pasv_enable=YES
pasv_min_port=30000
pasv_max_port=31000


开启ftp协议端口
firewall-cmd --zone=public --add-port=21/tcp --permanent

开启端口用于文件传输
iptables -A INPUT -p tcp --dport 30000:31000 -j ACCEPT

常见问题

500 OOPS: vsftpd: refusing to run with writable root inside chroot()
500 OOPS: 远程主机关闭连接。

1、从 vsftpd 2.3.5 开始,用户被锁定的 chroot 目录不可写。这是为了防止安全漏洞。
允许上传的安全方法是保持 chroot 启用,并配置您的 FTP 目录。
如下所示,用户只能上传文件到用户根目录下的upload子目录里
2、allow_writeable_chroot=YES

200 PORT command successful. Consider using PASV.
425 Failed to establish connection.
解决方案:修改/etc/selinux/config文件中的SELINUX="" 为disabled ,然后重启

200 PORT command successful. Consider using PASV.
解决方案:quote PASV

注:
1、ftp匿名用户登录,用户名:anonymous,密码为空即可
2、put到指定的远程目录,先cd到指定目录后put
3、lcd 本地目录路径 设置当前工作路径; !chdir 查看当前目录。cd 服务器目录 ;get(下载多个用 mget)文件名;!dir 查看当前目录文件

你可能感兴趣的:(CentOS7搭建FTP服务器)