反饋已提交
網絡繁忙
定時任務完成後,希望把生成的附件上傳到其他伺服器的 FTP 上面,需要提前準備已配置的 FTP 伺服器。
配置開啟叢集 若選擇檔案伺服器共享,協定選擇 FTP 時,需要提前準備已配置的 FTP 伺服器。
VSFTP 是一個基於 GPL 發佈的類 Unix 系統上使用的 FTP 伺服器軟體,它的全稱是 Very Secure FTP,從名稱上可以看出安全性是編寫 VSFTP 的初衷,除了這與生俱來的安全特性以外,高速與高穩定性也是 VSFTP 的兩個重要特點。
本文將簡單介紹,在Linux系統中安裝配置FTP的操作流程。
注1:安裝 vsftpd 需要使用最高使用者(root),否則不能進行。
注2:建議使用更安全的協定 SFTP,詳情請參見:Linux系統配置使用SFTP。
在Linux系統中安裝FTP時,有兩種方式可選,請根據伺服器情況選擇適合的方式:
1)網路連結安裝:伺服器可連結外網,可直接拉取FTP安裝包
2)離線安裝:伺服器為內網環境,無法連結外網。
rpm -qa |grep vsftpd # 檢查是否已安裝 ftpyum install vsftpd -y # 使用 yum 安裝 ftp
請根據系統選擇對應 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 包的名稱寫命令
編輯 vsftpd.conf 配置檔案,將anonymous_enable值改為 NO ,禁止匿名登入。
vi /etc/vsftpd/vsftpd.conf # 編輯vsftpd.conf配置檔案anonymous_enable=NO # 禁止匿名登入
詳情見:vsftpd.conf 配置手冊
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服務
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 可禁止或者允許使用者存取上層目錄。詳情請自行百度。
前提是 FTP 所在伺服器防火牆已開放 20、21 埠,此處提供兩種方式:
1)用 FTP 工具連結,比如 Xftp 之類的進行登入 FTP 使用者。
2)在能存取該 IP 的電腦上直接開啟一個資料夾,地址裏輸入ftp://ip
用上面兩種方式連結 FTP 後,建立和刪除資料夾確認有讀寫權限,則表明 FTP 部署成功。
service vsftpd status # 查看 ftp 的狀態service vsftpd start # 啟動服務service vsftpd stop # 停止服務service vsftpd restart # 重啟 ftpchkconfig vsftpd on # 設為開機啟動
更多維運知識參見:叢集維運手冊-Linux 版
注意:登入 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 入門
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 fileJul 25 22:45:29 localhost vsftpd: pam_listfile(vsftpd:auth): /etc/vsftpd/ftpusers is either world writable or not a normal fileJul 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 。
FTP 分為主動 (PORT)和被動(PASV)兩種工作模式,伺服器只開 20 和 21 埠時,無法使用 PASV 方式。此時連結 FTP 會報錯:
ftp> dir227 Entering Passive Mode (10,110,97,66,13,162).ftp: connect: Connection refused
解決方案有兩個:
1)方案一關閉被動模式,啟動主動模式。輸入ftp回車後,輸入下方程式碼:
2)方案二
開啟 21 埠和任何大於1024 的埠,再透過 passive 開啟 FTP 被動模式
備註:因為被動模式傳輸速度大於主動模式,推薦方案二。
問題描述:
FTP檔案伺服器連結失敗,日誌報錯:530 login incorrect
原因分析一:埠未開放
請檢查FTP和工程內網是否聯通
原因分析二:密碼過期
FTP檔案伺服器密碼需要定期更換,請先重置密碼再進行連結
也可自行百度,設定FTP檔案伺服器密碼不過期
滑鼠選中內容,快速回饋問題
滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。
不再提示
10s後關閉
反馈已提交
网络繁忙