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