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