centos7 安装ftp服务 发布于 2 周前 (03月25日) – 236 次检阅

在安装前需提前确认是否已经安装了vsftpd 命令如下:
rpm -<span class="hljs-keyword">qa</span>|<span class="hljs-keyword">grep</span> vsftpd   

另外,默认的配置文件路径为: /etc/vsftpd/vsftpd.conf

安装命令:
yum <span class="hljs-keyword">install</span> -y vsftpd   
开启 重启 关闭 查看服务状态命令:
systemctl start vsftpd<span class="hljs-keyword">  system</span>ctl restart vsftpd<span class="hljs-keyword">  system</span>ctl stop vsftpd<span class="hljs-keyword">  system</span>ctl status vsftpd.service   

这里建议先用客户端匿名访问下FTP,是否已经安装成功。因为这里服务可能存在防火墙,需要开放21端口

开启 重启 关闭 防火墙命令:
systemctl start firewalld<span class="hljs-selector-class">.service</span>  systemctl restart firewalld<span class="hljs-selector-class">.service</span>  systemctl stop firewalld<span class="hljs-selector-class">.service</span>  systemctl status firewalld<span class="hljs-selector-class">.service</span>   
配置端口:

centos7中的防火墙改成了firewall

使用iptables(iptables -I INPUT 1 -p tcp –dport 21 -j ACCEPT)无作用了

正确开放端口的方法如下:

firewall <span class="zh-hans">的设置方式:</span>  firewall-<span class="hljs-keyword">cmd</span><span class="bash"> --zone=public --add-service=ftp --permanent  </span>firewall-<span class="hljs-keyword">cmd</span><span class="bash"> --zone=public --add-port=21/tcp --permanent  </span>  <span class="zh-hans">返回</span>success<span class="zh-hans">为成功</span>  <span class="zh-hans">命令含义:</span>  --zone <span class="hljs-comment">#<span class="zh-hans">作用域</span> </span>  --<span class="hljs-keyword">add</span><span class="bash">-port=21/tcp <span class="hljs-comment">#<span class="zh-hans">添加端口,格式为:端口</span>/<span class="zh-hans">通讯协议</span> </span>  </span>--permanent <span class="hljs-comment">#<span class="zh-hans">永久生效</span></span>   

如果是centos6则使用:

IPtables <span class="zh-hans">的设置方式:</span>  vi /etc/sysconfig/iptables  <span class="hljs-comment">#<span class="zh-hans">编辑</span>iptables<span class="zh-hans">文件,添加如下内容,开启</span>21<span class="zh-hans">端口</span></span>  -A INPUT -m <span class="hljs-keyword">state</span> --state NEW -m tcp -p tcp --dport <span class="hljs-number">21</span> -j ACCEPT   
重启防火墙:
systemctl restart firewalld<span class="hljs-selector-class">.service</span>   
编辑ftp配置文件
vi /etc/vsftpd/vsftpd<span class="hljs-selector-class">.conf</span>   

修改这些:

<span class="hljs-attr">anonymous_enable</span>=<span class="hljs-literal">NO</span>  <span class="hljs-comment">#<span class="zh-hans">关闭匿名登录</span></span>  <span class="hljs-attr">allow_writeable_chroot</span>=<span class="hljs-literal">YES</span>  <span class="hljs-comment">#<span class="zh-hans">加上这行解决了无法登陆的问题</span></span>   
重启服务
systemctl restart vsftpd<span class="hljs-selector-class">.service</span>   
设置开机自启
systemctl <span class="hljs-builtin-name">enable</span> vsftpd.service   

ps : 可选是否(开启PASV(被动模式))使用开启内部发送端口,如选需要配置:

firewall-cmd <span class="hljs-attribute">--zone</span>=public <span class="hljs-attribute">--add-port</span>=30000-30999/tcp --permanent   

配置端口号 vi /etc/vsftpd/vsftpd.conf:

<span class="zh-hans">在最后追加</span>  pasv_enable=YES  pasv_min_port=30000  pasv_max_port=30999   

重启所有服务