1. 概述
1.1 版本
報表伺服器版本 |
---|
11.0 |
1.2 應用場景
定時任務完成後,希望把生成的附件上傳到其他伺服器的 FTP 上面,需要提前準備已配置的 FTP 伺服器。
配置開啟叢集 若選擇檔案伺服器共享,協定選擇 FTP 時,需要提前準備已配置的 FTP 伺服器。
1.3 功能簡介
VSFTP 是一個基於 GPL 發佈的類 Unix 系統上使用的 FTP 伺服器軟體,它的全稱是 Very Secure FTP,從名稱上可以看出安全性是編寫 VSFTP 的初衷,除了這與生俱來的安全特性以外,高速與高穩定性也是 VSFTP 的兩個重要特點。
本文將簡單介紹,在Linux系統中安裝配置FTP的操作流程。
注1:安裝 vsftpd 需要使用最高使用者(root),否則不能進行。
注2:建議使用更安全的協定 SFTP,詳情請參見:Linux系統配置使用SFTP。
2. 操作步驟
2.1 安裝 FTP
在Linux系統中安裝FTP時,有兩種方式可選,請根據伺服器情況選擇適合的方式:
1)網路連結安裝:伺服器可連結外網,可直接拉取FTP安裝包
2)離線安裝:伺服器為內網環境,無法連結外網。
2.1.1 網路連結安裝
2.1.2 離線安裝
請根據系統選擇對應 rpm 包進行下載:http://rpmfind.net/linux/rpm2html/search.php?query=vsftpd
例如:vsftpd-2.2.2-24.el6.x86_64.rpm:vsftpd-2.2.2-24.el6.x86_64.rpm
vsftpd-3.0.2-22.el7.x86_64.rpm :vsftpd-3.0.2-22.el7.x86_64.rpm
2.2 修改配置
編輯 vsftpd.conf 配置檔案,將anonymous_enable值改為 NO ,禁止匿名登入。
詳情見:vsftpd.conf 配置手冊
2.3 新增 FTP 使用者並啟動 vsftpd 服務
1)新增 FTP 使用者
然後連續兩次輸入您要給該使用者設定的密碼即可,使用 ftpuser 的賬戶密碼可以登入並使用 ftp 服務。
注1:平台配置叢集的時候使用的帳號和密碼是上文新增的帳號和密碼,本文中預設帳號為ftpuser。
注2:vsftpd 會禁止一些使用者登入使用FTP(預設為root、bin、daemon、adm、lp、sync、shutdown、halt、mail、news、uucp、operator、games、nobody),如果想使用這些帳號登入,請檢查/etc/vsftpd/ftpusers和/etc/vsftpd/user_list檔案中是否存在該帳號,並使用“#”遮蔽。
2)啟動 FTP
使用以下語句啟動vsftpd服務
若能成功啟動,則不會傳回任何資訊。
若啟動失敗,則會傳回報錯資訊。
systemctl restart vsftpd.service # 啟動vsftpd服務
2.4 copy WEB-INF,給資料夾賦權限
1)copy正式環境 Web 工程裏的 WEB-INF 資料夾,並貼上到/home/ftpuser目錄下,在平台開啟檔案伺服器時,FTP 路徑填寫 /home/ftpuser/WEB-INF
2)賦予權限
注1:如果考慮安全性,不能給 777 權限,可以只給 755 權限,命令是 chmod -R 755 /home/ftpuser,但是copy WEB-INF 檔案時務必使用 ftp 使用者,否則會因為檔案歸屬問題導致不能寫入。
注2:配置 chroot_list 可禁止或者允許使用者存取上層目錄。詳情請自行百度。
2.5 測試是否成功
前提是 FTP 所在伺服器防火牆已開放 20、21 埠,此處提供兩種方式:
1)用 FTP 工具連結,比如 Xftp 之類的進行登入 FTP 使用者。
2)在能存取該 IP 的電腦上直接開啟一個資料夾,地址裏輸入ftp://ip
用上面兩種方式連結 FTP 後,建立和刪除資料夾確認有讀寫權限,則表明 FTP 部署成功。
3. 維運知識
更多維運知識參見:叢集維運手冊-Linux 版
4. 注意事項
4.1 關閉 SELinux
注意:登入 ftp 操作檔案報錯“550 create directory operation failed”或者無法登入以及開啟777權限以後仍然沒有讀寫權限考慮以下操作。
這是 SELinux(Security-Enhanced Linux,是美國國家安全局對於強制存取控制的實現,是 Linux 上最傑出的新安全子系統)安裝機制問題,需要關閉 SELinux。
1)永久關閉 SELinux 的方式
2)臨時關閉 SELinux 的方式
3)不關閉 SELinux
注:更多 SELinux 相關的知識請參見: SELinux 入門
4.2 Invalid config
1)其他工具登入 FTP 慢,平台配置 FTP 失敗,報錯:Invalid config!
帳號密碼存取的時候,ftp伺服器如果開啟了dns反向解析,就會去尋找你是不是從合法 IP 來存取的,內網情況下會出現逾時的情況。
編輯 vsftpd.conf 加一句 reverse_lookup_enable=NO,然後重啟 FT。
2)查看 FTP 狀態時報錯資訊如下:
chmod 664 /etc/vsftpd/ftpusers,然後重啟 vsftpd 。
4.3 FTP 工作模式
FTP 分為主動 (PORT)和被動(PASV)兩種工作模式,伺服器只開 20 和 21 埠時,無法使用 PASV 方式。此時連結 FTP 會報錯:
解決方案有兩個:
1)方案一
關閉被動模式,啟動主動模式。輸入ftp回車後,輸入下方程式碼:
2)方案二
開啟 21 埠和任何大於1024 的埠,再透過 passive 開啟 FTP 被動模式
備註:因為被動模式傳輸速度大於主動模式,推薦方案二。
4.4 530 login incorrect
問題描述:
FTP檔案伺服器連結失敗,日誌報錯:530 login incorrect
原因分析一:埠未開放
請檢查FTP和工程內網是否聯通
原因分析二:密碼過期
FTP檔案伺服器密碼需要定期更換,請先重置密碼再進行連結
也可自行百度,設定FTP檔案伺服器密碼不過期