1. 程式人生 > >centos6.5 ftp檔案上傳遇到的問題彙總

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設定是這樣的
  [[email protected] ~]# 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