FTP(文件傳輸協(xié)議)是一個(gè)用于從一臺(tái)主機(jī)向網(wǎng)絡(luò)中另外一臺(tái)主機(jī)傳送文件的協(xié)議。該協(xié)議的歷史可追溯至1971年,不過至今仍然極為流行。在一個(gè)典型的FTP會(huì)話中,用戶坐在本地主機(jī)前,想把文件傳送到一臺(tái)遠(yuǎn)程主機(jī)(上傳)或者想把文件從一臺(tái)遠(yuǎn)程主機(jī)傳送過來(下載)。該用戶必須提供一個(gè)合法的用戶名和口令才能訪問遠(yuǎn)程主機(jī)。給出這些身份認(rèn)證信息后,它就可以在本地文件系統(tǒng)和遠(yuǎn)程文件系統(tǒng)之間傳送文件了。
用戶通過一個(gè)FTP用戶接口與FTP服務(wù)器交互。他首先提供一個(gè)遠(yuǎn)程主機(jī)的主機(jī)名,這使得本地主機(jī)中的FTP客戶進(jìn)程建立一個(gè)與遠(yuǎn)程主機(jī)中的FTP服務(wù)器進(jìn)程之間的連接。用戶接著提供用戶名和口令,這些信息將作為FTP命令參數(shù)經(jīng)由TCP連接傳送到服務(wù)器。服務(wù)器批準(zhǔn)后,該用戶就在本地文件系統(tǒng)和遠(yuǎn)程文件系統(tǒng)之間傳輸文件。
FTP服務(wù)不受計(jì)算機(jī)類型以及操作系統(tǒng)的限制,無論是PC機(jī)、服務(wù)器、大型機(jī),也不管操作系統(tǒng)是Linux、DOS還是Windows,只要建立FTP連接的雙方都支持FTP協(xié)議,就可以方便地傳輸文件。目前FTP服務(wù)主要應(yīng)用于文件的上傳與下載、軟件的高速下載和Web站點(diǎn)的維護(hù)與更新。在Linux系統(tǒng)下常見的FTP服務(wù)器軟件有vsftpd、proftpd和wu-ftpd。
1 FTP工作原理
FTP服務(wù)采用客戶機(jī)/服務(wù)器模式,F(xiàn)TP客戶機(jī)和服務(wù)器使用TCP建立連接。FTP服務(wù)器使用兩個(gè)并行的TCP連接來傳送文件,一個(gè)是控制連接,一個(gè)是數(shù)據(jù)連接。
其中,控制連接用于在客戶主機(jī)和服務(wù)器主機(jī)之間發(fā)送控制信息,例如用戶名和口令、改變遠(yuǎn)程目錄的命令、取來或放回文件的命令。數(shù)據(jù)連接用于真正傳輸文件。
在FTP客戶機(jī)和服務(wù)器的會(huì)話建立過程中,具體經(jīng)歷以下幾個(gè)階段:
1.1當(dāng)FTP客戶機(jī)啟動(dòng)與遠(yuǎn)程FTP服務(wù)器間的一個(gè)FTP會(huì)話時(shí),F(xiàn)TP客戶機(jī)首先發(fā)起建立與FTP服務(wù)器21端口之間的控制連接,然后經(jīng)由該控制連接把用戶名和口令發(fā)送給服務(wù)器。
1.2客戶機(jī)還經(jīng)由該控制連接把本地臨時(shí)分配的數(shù)據(jù)端口告知服務(wù)器,以便服務(wù)器發(fā)起建立一個(gè)從FTP服務(wù)器20端口到客戶機(jī)指定端口之間的數(shù)據(jù)連接。
1.3當(dāng)用戶每次請(qǐng)求傳送文件時(shí),F(xiàn)TP將在服務(wù)器的20端口打開一個(gè)數(shù)據(jù)連接。當(dāng)數(shù)據(jù)傳輸完畢后,用于建立數(shù)據(jù)連接的端口會(huì)自動(dòng)關(guān)閉,到再有文件傳送請(qǐng)求時(shí)重新打開。
1.4在FTP會(huì)話中,控制連接在整個(gè)用戶會(huì)話期間一直處于打開狀態(tài),而數(shù)據(jù)連接則為每次文件傳送請(qǐng)求重新打開一次。也就是說,在整個(gè)FTP會(huì)話過程中,控制連接是持久的,而數(shù)據(jù)連接是非持久的。
2 FTP的排錯(cuò)方法
客戶機(jī)想訪問FTP服務(wù)器上的資源,首先要滿足能和FTP服務(wù)器通信。如果客戶和服務(wù)器不能通信,就不可能訪問服務(wù)器,更不用說下載資源了。還有服務(wù)器防火墻應(yīng)放21端口(FTP端口)。在滿足這兩個(gè)條件后,下面我們分析FTP常見錯(cuò)誤,探討FTP的排錯(cuò)方法。
2.1拒絕賬戶登錄(錯(cuò)誤提示:OOPS無法改變目錄)。當(dāng)客戶端使用ftp賬號(hào)登錄服務(wù)器時(shí),提示“500 OOPS”錯(cuò)誤。
接收到該錯(cuò)誤信息,其實(shí)并不是vsftpd.conf配置文件設(shè)置有問題,而重點(diǎn)是“cannot change directory”,無法更改目錄。造成這個(gè)錯(cuò)誤,主要有以下兩個(gè)原因。①目錄權(quán)限設(shè)置錯(cuò)誤。該錯(cuò)誤一般在本地賬戶登錄時(shí)發(fā)生,如果管理員在設(shè)置該賬戶主目錄權(quán)限時(shí),忘記添加執(zhí)行權(quán)限(X),那么,就會(huì)收到該錯(cuò)誤信息。FTP中的本地賬號(hào),需要擁有目錄的執(zhí)行權(quán)限,請(qǐng)作用chmod命令添加“X”權(quán)限,保證用戶能夠?yàn)g覽目錄信息,否則拒絕登錄。對(duì)于FTP的虛擬賬號(hào),即使不具備目錄的執(zhí)行權(quán)限,也可以登錄FTP服務(wù)器,但會(huì)有其他錯(cuò)誤提示。為了保證FTP用戶的正常訪問,請(qǐng)開戶目錄的執(zhí)行權(quán)限。②SELinux。FTP服務(wù)器開啟了SELinux針對(duì)FTP數(shù)據(jù)傳輸?shù)牟呗裕矔?huì)造成“無法切換目錄”的錯(cuò)誤提示,如果目錄權(quán)限設(shè)置正確,那么,需要檢查SELinux的配置。用戶可以通過setsebool命令,禁用SELinux的FTP傳輸審核功能。
[root@RHEL4~]# setsebool –P ftpd_disable_trans 1
重新啟動(dòng)vsftpd服務(wù),用戶能夠成功登錄FTP服務(wù)器。
2.2客戶端連接FTP服務(wù)器超時(shí)。造成客戶端訪問服務(wù)器超時(shí)的原因,主要有以下幾種情況。①線路不通。使用ping命令測(cè)試網(wǎng)絡(luò)連通性,如果出現(xiàn)“Request Timed Out”,說明客戶端與服務(wù)器的網(wǎng)絡(luò)連接存在問題,檢查線路的故障。②防火墻設(shè)置。如果防火墻屏蔽了FTP服務(wù)器控制端口21,以及其他的數(shù)據(jù)端口,則會(huì)造成客戶端無法連接服務(wù)器,形成“超時(shí)”的錯(cuò)誤提示。需要設(shè)置防火墻開放21端口,并且,還應(yīng)該開啟主動(dòng)模式的20端口,以及被動(dòng)模式使用的端口范圍,防止數(shù)據(jù)的連接錯(cuò)誤。
2.3賬戶登錄失敗。客戶端登錄FTP服務(wù)器時(shí),還有可能會(huì)收到“登錄失敗”的錯(cuò)誤提示。
登錄失敗,實(shí)際上牽扯到身份驗(yàn)證,以及其他一些登錄的設(shè)置。①密碼錯(cuò)誤。請(qǐng)保證登錄密碼的正確性,如果FTP服務(wù)器更新了密碼設(shè)置,則使用新密碼重新登錄。②PAM維模塊。當(dāng)輸入密碼無誤,但仍然無法登錄FTP服務(wù)器時(shí),很有可能是PAM模塊中vsftpd的配置文件錯(cuò)誤造成的。PAM的配置比較復(fù)雜,其中auth字段主要是接受用戶名和密碼,進(jìn)而對(duì)該用戶的密碼進(jìn)行認(rèn)證,account字段主要是檢查賬戶是否被允許登錄系統(tǒng),賬戶是否已經(jīng)過期,賬戶的登錄是否有時(shí)間段的限制等,保證這兩個(gè)字段配置的正確性,否則FTP賬號(hào)將無法登錄服務(wù)器。事實(shí)上,大部分賬號(hào)登錄失敗都是由這個(gè)錯(cuò)誤造成的。③用戶目錄權(quán)限。FTP賬號(hào)對(duì)于主目錄沒有任何權(quán)限時(shí),也會(huì)收到“登錄失敗”的錯(cuò)誤提示,根據(jù)該賬號(hào)的用戶身份,重新設(shè)置其主目錄權(quán)限,重啟vsftpd服務(wù),使配置生效。
核心關(guān)注:拓步ERP系統(tǒng)平臺(tái)是覆蓋了眾多的業(yè)務(wù)領(lǐng)域、行業(yè)應(yīng)用,蘊(yùn)涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務(wù)管理理念,功能涉及供應(yīng)鏈、成本、制造、CRM、HR等眾多業(yè)務(wù)領(lǐng)域的管理,全面涵蓋了企業(yè)關(guān)注ERP管理系統(tǒng)的核心領(lǐng)域,是眾多中小企業(yè)信息化建設(shè)首選的ERP管理軟件信賴品牌。
轉(zhuǎn)載請(qǐng)注明出處:拓步ERP資訊網(wǎng)http://www.ezxoed.cn/
本文標(biāo)題:淺析FTP服務(wù)器配置與管理中的排錯(cuò)方法
本文網(wǎng)址:http://www.ezxoed.cn/html/support/1112153298.html