centos6.5 ftp文件上传遇到的问题汇总


1、ftp 192.168.1.*
-bash: ftp: command not found

解决方案:ftp命令没有安装  # yum install ftp


2、ftp: connect: 拒绝连接

    解决方案:
    (1)、检测系统是否安装过vsftpd,命令如下:

         rpm  -qa|grep vsftpd

        如果安装过会显示ftp版本

   (2)、如没安装,则用yum命令在线安装,命令如下:

         yum install vsftpd
   (3)、启动 vsftpd服务

        service vsftpd start

   (4) 、查看服务是否启动

         ps -ef |grep vsftpd

   附:开启、关闭、重启服务(配置文件改动过要重启)

         service vsftpd start启动

         service vsftpd stop停止

         service vsftpd restart重启
 

3、ftp 192.168.1.*
ftp: connect: 没有到主机的路由

 问题原因:是目标机的iptables,其中没有添加21端口规则,导致21端口的连接被屏蔽。

 解决方法:关闭iptables或添加21端口规则。

(1) iptables的设置


     查看防火墙状态:
     sudo service iptables status

     暂时关闭防火墙:

     sudo service iptables stop

     禁止防火墙在开机时启动

     chkconfig iptables off

     设置防火墙在开机时启动

     chkconfig iptables on

4、CentOS下安装完vsftpd后报错:500 OOPS: cannot change directory:/home/zyc

问题原因:是CentOS系统安装了SELinux,因为默认下是没有开启FTP的支持,所以访问时都被阻止了。

解决办法:

(1)查看SELinux设置
      #getsebool -a|grep ftp
          ftp_home_dir–>off 或者 ftpd_disable_trans –> off
(2)使用setsebool命令开启
     # setsebool ftp_home_dir 1 或者 setsebool ftpd_disable_trans 1

(3)查看当前状态是否是on的状态
     # getsebool -a|grep ftp
         ftp_home_dir–>on或者ftpd_disable_trans –> on

//setsebool使用-P参数,无需每次开机都输入这个命令
  # setsebool -P ftp_home_dir 1 或者 # setsebool -P ftpd_disable_trans 1

我的SELinux设置是这样的
  [root@centOS ~]# getsebool -a|grep ftp
     allow_ftpd_anon_write –> off
     allow_ftpd_full_access –> off
     allow_ftpd_use_cifs –> off
     allow_ftpd_use_nfs –> off
     ftp_home_dir –> on
    ftpd_connect_db –> off
    ftpd_use_passive_mode –> off
    httpd_enable_ftp_server –> off
    tftp_anon_write –> off

(5) 重启vsftpd服务

      service vsftpd restart

猜你喜欢

转载自blog.csdn.net/zhangyuchao618/article/details/85234354