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