centos7 开启ftp服务

1、关闭默认防火墙

systemctl stop firewalld.service #停止firewall

systemctl disable firewalld.service #禁止firewall开机启动

另一种写法

#停止firewalld服务
systemctl stop firewalld
#禁用firewalld服务
systemctl mask firewalld

2、安装iptables防火墙

#先检查是否安装了iptables
service iptables status
#安装iptables
yum install -y iptables
#升级iptables(安装的最新版本则不需要)
yum update iptables 
#安装iptables-services,也许可以只做这一步,前边自动安装?
yum install iptables-services

3、编辑防火墙配置文件

vi /etc/sysconfig/iptables #编辑防火墙配置文件

# Firewall configuration written by system-config-firewall

# Manual customization of this file is not recommended.

*filter

:INPUT ACCEPT [0:0]

:FORWARD ACCEPT [0:0]

:OUTPUT ACCEPT [0:0]

-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

-A INPUT -p icmp -j ACCEPT

-A INPUT -i lo -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT

-A INPUT -m state --state NEW -m tcp -p tcp --dport 10060:10090 -j ACCEPT

-A INPUT -j REJECT --reject-with icmp-host-prohibited

-A FORWARD -j REJECT --reject-with icmp-host-prohibited

COMMIT

:wq! #保存退出

systemctl restart iptables.service #最后重启防火墙使配置生效

systemctl enable iptables.service #设置防火墙开机启动

说明:21端口是ftp服务端口;10060到10090是Vsftpd被动模式需要的端口,可自定义一段大于1024的tcp端口。

4、安装ftp和vsftpd

yum install -y ftp vsftpd
#设置开机启动
systemctl enable vsftpd.service

5、修改vsftpd配置

1 打开 /etc/vsftpd/vsftpd.conf文件。将anonymous_enable=YES,改为anonymous_enable=NO

2 打开 /etc/vsftpd/vsftpd.conf文件。添加user_config_dir=/etc/vsftpd/virtual,并建立virtual目录。在此目录中建立以用户名为文件名的文件,并写入:local_root=[目录],这个目录即是FTP连接时的主目录。

3 限定用户只在自己目录:修改vsftpd.conf文件,取消注释:chroot_list_enable=YESchroot_list_file=/etc/vsftpd/chroot_list在/etc/vsftpd/目录下添加文件chroot_list,加入作为FTP用户的本地用户名。

4 解决用户无法进入目录问题:打开终端,输入:setsebool -P ftpd_disable_trans 1然后重启FTP服务:service vsftpd restart

部分摘自:http://www.linuxidc.com/Linux/2016-09/135636.htm

原文地址:https://www.cnblogs.com/flying607/p/7823461.html