Linux系統安裝配置FTP

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 網路連結安裝

rpm -qa |grep vsftpd   # 檢查是否已安裝 ftp
yum install vsftpd -y   # 使用 yum 安裝 ftp

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

rpm -ivh vsftpd-2.2.2-24.el6.x86_64.rpm  # 安裝 vsftpd 請按照實際 rpm 包的名稱寫命令

2.2 修改配置

編輯 vsftpd.conf 配置檔案,將anonymous_enable值改為 NO ,禁止匿名登入。

vi /etc/vsftpd/vsftpd.conf   # 編輯vsftpd.conf配置檔案
anonymous_enable=NO   # 禁止匿名登入

詳情見:vsftpd.conf 配置手冊

2.3 新增 FTP 使用者並啟動 vsftpd 服務

1)新增 FTP 使用者

useradd ftpuser   # 建立名為 ftpuser 的使用者,並自動建立/home/ftpuser 目錄
passwd ftpuser   # 設定該使用者的密碼

然後連續兩次輸入要給該使用者設定的密碼即可,使用 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)賦予權限

chmod -R 777 /home/ftpuser  #給 ftpuser 資料夾賦予寫入權限

注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. 維運知識

service vsftpd status   # 查看 ftp 的狀態
service vsftpd start   # 啟動服務
service vsftpd stop   # 停止服務
service vsftpd restart   # 重啟 ftp
chkconfig vsftpd on   # 設為開機啟動

更多維運知識參見:叢集維運手冊-Linux 版

4. 注意事項

4.1 關閉 SELinux

注意:登入 ftp 操作檔案報錯“550 create directory operation failed”或者無法登入以及開啟777權限以後仍然沒有讀寫權限考慮以下操作。

這是 SELinux(Security-Enhanced Linux,是美國國家安全局對於強制存取控制的實現,是 Linux 上最傑出的新安全子系統)安裝機制問題,需要關閉 SELinux。

1)永久關閉 SELinux 的方式

vi /etc/selinux/config # 編輯 SELinux 的 config 檔案
SELINUX=enforcing --> SELINUX=disabled  # 永久關閉 SELinux 重啟系統生效

2)臨時關閉 SELinux 的方式

setenforce 0 # 執行命令,僅臨時關閉,重啟後又會恢復原狀

3)不關閉 SELinux

getsebool -a | grep ftpd # 查詢的結果中,只有 ftp_home_dir 和 allow_ftpd_full_access 必須為 on 才能使 vsftpd 具有存取 ftp 根目錄,以及檔案傳輸等權限
setsebool -P ftp_home_dir 1 # 執行即可
setsebool -P allow_ftpd_full_access 1 # 執行即可

注:更多 SELinux 相關的知識請參見: SELinux 入門

4.2 Invalid config

1)其他工具登入 FTP 慢,平台配置 FTP 失敗,報錯:Invalid config!

帳號密碼存取的時候,ftp伺服器如果開啟了dns反向解析,就會去尋找你是不是從合法 IP 來存取的,內網情況下會出現逾時的情況。

編輯 vsftpd.conf 加一句 reverse_lookup_enable=NO,然後重啟 FT。

2)查看 FTP 狀態時報錯資訊如下:

Jul 25 22:34:20 localhost vsftpd: pam_shells(vsftpd:auth): /etc/shells is either world writable or not a normal file
Jul 25 22:45:29 localhost vsftpd: pam_listfile(vsftpd:auth): /etc/vsftpd/ftpusers is either world writable or not a normal file
Jul 25 22:46:28 localhost vsftpd: pam_listfile(vsftpd:auth): /etc/vsftpd/ftpusers is either world writable or not a normal file

chmod 664 /etc/vsftpd/ftpusers,然後重啟 vsftpd 。


4.3 FTP 工作模式

FTP 分為主動 (PORT)和被動(PASV)兩種工作模式,伺服器只開 20 和 21 埠時,無法使用 PASV 方式。此時連結 FTP 會報錯:

ftp> dir
227 Entering Passive Mode (10,110,97,66,13,162).
ftp: connect: Connection refused

解決方案有兩個:

1)方案一
關閉被動模式,啟動主動模式。輸入ftp回車後,輸入下方程式碼:

2)方案二

開啟 21 埠和任何大於1024 的埠,再透過 passive 開啟 FTP 被動模式

備註:因為被動模式傳輸速度大於主動模式,推薦方案二。

4.4 530 login incorrect

問題描述:

FTP檔案伺服器連結失敗,日誌報錯:530 login incorrect

原因分析一:埠未開放

請檢查FTP和工程內網是否聯通

原因分析二:密碼過期

FTP檔案伺服器密碼需要定期更換,請先重置密碼再進行連結

也可自行百度,設定FTP檔案伺服器密碼不過期

附件列表


主題: 部署集成
已經是第一篇
已經是最後一篇
  • 有幫助
  • 沒幫助
  • 只是瀏覽
中文(繁體)

滑鼠選中內容,快速回饋問題

滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。

不再提示

10s後關閉

獲取幫助
線上支援
獲取專業技術支援,快速幫助您解決問題
工作日9:00-12:00,13:30-17:30在线
頁面反饋
針對當前網頁的建議、問題反饋
售前咨詢
業務咨詢
電話:0933-790886或 0989-092892
郵箱:taiwan@fanruan.com
頁面反饋
*問題分類
不能為空
問題描述
0/1000
不能為空

反馈已提交

网络繁忙

反饋已提交

網絡繁忙