Linux(Centos7) 實例搭建 FTP 服務


本文以 CentOS 7.2 64位系統為例,使用 vsftpd 作為 FTP 服務端,FileZilla 作為客戶端。指導您如何在 Linux 雲服務器上搭建 FTP 服務。

操作步驟

安裝 vsftpd

登錄 Linux 雲服務器。
執行以下命令,安裝 vsftpd。
yum install vsftpd -y

啟動服務

執行以下命令,啟動服務。
systemctl start vsftpd
執行以下命令,確認服務是否啟動。
netstat -tunlp
返回類似如下信息,則表示 vsftpd 服務已經啟動成功。

(可選)驗證 vsftpd 服務

說明:
為了保證 FTP 服務端順利完成配置,您還可以在本地計算機或其他雲服務器上執行以下操作步驟,再次驗證 vsftpd 服務是否啟動成功。以下操作步驟以 Linux 操作系統的本地計算機為例。如果本地計算機為 Windows/Mac OS 操作系統,請確保該計算機已開啟 telnet 功能。
在本地計算機的操作系統界面,執行以下命令,安裝 telnet 服務。
說明:
如果您的本地計算機為 Windows/Mac OS 操作系統,請跳過此步驟。
yum -y install telnet
執行以下命令,測試 vsftpd 服務是否啟動成功
telnet + 雲服務器公網 IP + 21
返回類似如下信息,即表示已經啟動成功。

配置 vsftpd

執行以下命令,打開 vsftpd 配置文件。
vi /etc/vsftpd/vsftpd.conf
按 “i” 或 “Insert” 切換至編輯模式,將文件中的anonymous_enable=YES改為anonymous_enable=NO。如下圖所示:

按 “Esc”,輸入 “:wq”,保存文件並返回。

添加 FTP 用戶

執行以下命令,添加用戶ftpuser1
useradd -m -d /home/ftpuser1 -s /sbin/nologin ftpuser1
執行以下命令,設置用戶ftpuser1的密碼。
passwd ftpuser1
創建用戶、用戶密碼設置成功。如下圖所示:

常見問題

FTP 客戶端連接超時或者讀取目錄列表失敗

問題描述
部分用戶在本地使用 FTP 客戶端連接時可能遇到連接超時和讀取目錄列表失敗的問題。如下圖所示:

問題出現在 PASV 命令處。原因在於 FTP 協議在騰訊雲網絡架構上的不適。FTP 客戶端默認被動模式傳輸,因此在通信過程中會去尋找服務器端的 IP 地址進行連接,但是由於騰訊雲的公網 IP 不是直接配在網卡上,因此在被動模式下客戶端無法找到有效 IP (只能找到雲服務器內網 IP ,內網 IP 無法直接和公網通信),故無法建立連接。

解決方法
將客戶端傳輸模式改為主動即可。
如果客戶端網絡環境要求被動模式,那么需要在服務端 配置 vsftpd 中的配置文件中新增這些語句:

pasv_address=XXX.XXX.XXX.XXX     //(公網 IP)
pasv_enable=YES
pasv_min_port=1024
pasv_max_port=2048

FTP 客戶端上傳文件失敗

問題描述
Linux 系統環境下,通過 vsftp 上傳文件時,提示如下報錯信息。
553 Could not create file
解決方法
執行以下命令,檢查服務器磁盤空間的使用率。
df -h
如果磁盤空間不足,將會導致文件無法上傳,建議刪除磁盤容量較大的文件。
如果磁盤空間正常,請執行下一步。
執行以下命令,檢查 FTP 目錄是否有寫的權限。

ls -l /home/test      
# /home/test 為 FTP 目錄,請修改為您實際的 FTP 目錄。

若返回結果中沒有 w,則表示該用戶沒有寫的權限,請執行下一步。
若返回結果中已有 w,請 提交工單 進行反饋。
執行以下命令,對 FTP 目錄加上寫的權限。

chmod +w /home/test 
# /home/test 為 FTP 目錄,請修改為您實際的 FTP 目錄。

執行以下命令,重新檢查寫的權限是否設置成功。

ls -l /home/test   
# /home/test 為 FTP 目錄,請修改為您實際的 FTP 目錄。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM