歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux服務器 >> 在RHEL配置FTP的相關概念以及權限

在RHEL配置FTP的相關概念以及權限

日期:2017/3/2 16:39:57   编辑:Linux服務器

對於FTP的概念還有很多人不是很了解,在本文中首先要對FTP的概念進行一下解析,RHEL配置FTP我們先從了解一些有關的權限問題,下面進行具體的分析。

一、RHEL配置FTP相關軟件
Vsftpd-2.0.1-5.i386.rpm (在rhel4 的第一張光盤中)

二、 FTP 相關概念
FTP是一個8位的客戶端-服務器協議,屬於網絡協議組的應用層。FTP能操作任何類型的文件而不需要進一步處理,就像MIME或Unencode一樣。但是,FTP有著極高的延時,這意味著,從開始請求到第一次接收需求數據之間的時間會非常長,並且不時的必需執行一些冗長的登陸進程
FTP服務一般運行在20和21兩個端口。端口20用於在客戶端和服務器之間傳輸數據流,而端口21用於傳輸控制流,並且是命令通向ftp服務器的進口。當數據通過數據流傳輸時,控制流處於空閒狀態。而當控制流空閒很長時間後,客戶端的防火牆會將其會話置為超時,這樣當大量數據通過防火牆時,會產生一些問題。此時,雖然文件可以成功的傳輸,但因為控制會話會被防火牆斷開,傳輸會產生一些錯誤

由於TCP/IP協議簇的脆弱行,FTP協議有一些先天的缺陷,密碼和文件內容都使用明文傳輸,可能產生不希望發生的竊聽。 因為必需開放一個隨機的端口以建立連接,當防火牆存在時,客戶端很難過濾處於主動模式下的FTP流量。這個問題通過使用被動模式的FTP得到了很大解決。
FTP雖然可以被終端用戶直接使用,但是它是設計成被FTP客戶端程序所控制。 運行FTP服務的許多站點都開放匿名服務,在這種設置下,用戶不需要帳號就可以登錄服務器,默認情況下,匿名用戶的用戶名是:anonymous”。這個帳號不需要密碼,雖然通常要求輸入用戶的郵件地址作為認證密碼,但這只是一些細節或者此郵件地址根本不被確定,而是依賴於FTP服務器的配置情況。

FTP有兩種使用模式:主動和被動。主動模式要求客戶端和服務器端同時打開並且監聽一個端口以建立連接。在這種情況下,客戶端由於安裝了防火牆會產生一些問題。所以,創立了被動模式。被動模式只要求服務器端產生一個監聽相應端口的進程,這樣就可以繞過客戶端安裝了防火牆的問題。 一個主動模式的FTP連接建立要遵循以下步驟: 客戶端打開一個隨機的端口(端口號大於1024,在這裡,我們稱它為z),同時一個FTP進程連接至服務器的21號命令端口。此時,源端口為隨機端口z,在客戶端,遠程端口為21,在服務器。 客戶端開始監聽端口(z+1),同時向服務器發送一個端口命令(通過服務器的21號命令端口),此命令告訴服務器客戶端正在監聽的端口號並且已准備好從此端口接收數據。這個端口就是我們所知的數據端口。 服務器打開20號源端口並且建立和客戶端數據端口的連接。

此時,源端口為20,遠程數據端口為(z+1)。 客戶端通過本地的數據端口建立一個和服務器20號端口的連接,然後向服務器發送一個應答,告訴服務器它已經建立好了一個連接。被動模式在建立命令連接時和主動連接一致,但在建立數據通路時,服務器端會在命令通道裡傳輸一個命令告訴客戶機,自己開啟了一個大於1024的端口(h)要求客戶端來連接,客戶端受到命令後會在自己的z+1號端口去連接服務器的h端口以建立數據通道。

三、RHEL配置FTP文件及數據文件
/etc/vsftpd/vsftpd.conf (RHEL配置FTPF服務主配置文件,其相關選項如下:)匿名權限控制
anonymous_enable=YES #控制是否允許匿名用戶登錄,YES允許,NO不允許,默認值為YES。
no_anon_password=YES #控制匿名用戶登入時是否需要密碼,YES不需要,NO需要。默認值為NO。
anon_root=(none) #匿名用戶主目錄默認為/var/ftp
local_enable=YES #控制vsftpd所在的系統的用戶是否可以登錄vsftpd。默認值為YES。
local_root=(none) #定義所有本地用戶的根目錄。當本地用戶登入時,將被更換到此目錄下。默認值為無
deny_email_enable=NO #此參數默認值為NO。當值為YES時,拒絕使用banned_email_file參數指定文件中所列出的e-mail地址進行登錄的匿名用戶。即,當匿名用戶使用banned_email_file文件中所列出的e-mail進行登錄時,被拒絕。顯然,這對於阻擊某些Dos攻擊有效。當此參數生效時,需追加banned_email_file參數
check_shell=YES #僅在沒有pam驗證版本時有用,是否檢查用戶有一個有效的shell來登錄
userlist_enable=YES
userlist_deny=NO #若啟用此選項,userlist_deny選項才被啟動若為YES,則vsftpd.user_list中的用戶將不能登錄,為NO則只有vsftpd.user_list的用戶可以登錄passwd_chroot_enable=NO #如果和chroot_local_user一起開啟,那麼用戶鎖定的目錄來自/etc/passwd每個用戶指定的目錄ftp_username=FTP #匿名用戶所使用的系統用戶名。默認下,此參數在配置文件中不出現,值為ftp。

以上主要是從理論上介紹了一下FTP以及一些RHEL配置FTP的相關權限和一些數據文件,希望能幫助到大家對RHEL配置FTP的認識

Copyright © Linux教程網 All Rights Reserved