虛擬機器上的RedHat Linux7 vsftpd出現553 Could not create file的解決方法

chenfeng發表於2016-06-23
在虛擬機器上安裝的RedHat Linux 7,搭建好了vsftpd,但從客戶端連線的時候報錯:
C:\Users\duansf\Desktop>ftp 192.168.23.129
連線到 192.168.23.129。
220 (vsFTPd 3.0.2)
使用者(192.168.23.129:(none)): root
331 Please specify the password.
密碼:
230 Login successful.
ftp> cd data
550 Failed to change directory.
ftp> cd /data
250 Directory successfully changed.
ftp> dir
200 PORT command successful. Consider using PASV.


ftp> put mysql-5.6.15.tar.gz
200 PORT command successful. Consider using PASV.
553 Could not create file.

解釋一下FTP的兩種工作方式:
FTP協議有兩種工作方式:PORT方式和PASV方式,中文意思為主動式和被動式。
一、PORT(主動)方式的連線過程是:客戶端向伺服器的FTP埠(預設是21)傳送連線請求,伺服器接受連線,建立一條命令鏈路。 
當需要傳送資料時,客戶端在命令鏈路上用 PORT命令告訴伺服器:“我開啟了****埠,你過來連線我”。於是伺服器從20埠向客戶端的****埠傳送連線請求,建立一條資料鏈路來傳送資料。
二、PASV(被動)方式的連線過程是:客戶端向伺服器的FTP埠(預設是21)傳送連線請求,伺服器接受連線,建立一條命令鏈路。 
當需要傳送資料時,伺服器在命令鏈路上用 PASV命令告訴客戶端:“我開啟了****埠,你過來連線我”。於是客戶端向伺服器的****埠傳送連線請求,建立一條資料鏈路來傳送資料。 


解決方法如下:
使用命令getsebool -a|grep ftp
檢視ftp_home_dir ftpd_full_access 和ftpd_use_passive_mode是否為on。
見下圖:


如果不為on,則用如下命令:


再次測試ftp上傳和下載檔案許可權正常。




來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15498/viewspace-2120802/,如需轉載,請註明出處,否則將追究法律責任。

相關文章