1. 程式人生 > >FTP服務器的配置與管理

FTP服務器的配置與管理

信道 eal dfa 客戶 abd images 恢復 tp服務器 記錄

一 FTP 簡介:
1 FTP的數據鏈路原理:
FTP(file transfer protocol)是相當古老的協議之一,他的主要功能是在服務器與客戶端之間進行檔案的傳輸,這個古老的協議使用的是明碼傳輸的方式,且過去有相當多的安全危機,為了更安全的使用FTP協議,vsftpd登上歷史舞臺

2 FTP功能簡介:
FTP服務器的功能處理單純的進行檔案的傳輸與管理之外,一句服務器軟件的設定架構,它可以提供幾個主要功能,
不同等級的用戶身份:user ,guest , anonymous
FTP服務器在預設情況下,依據使用者登錄的情況分為三類:
A 實體賬號 real user
B 訪客 guest

C 匿名登錄者 anonymous
實體用戶取得系統的權限比較完成,所以可以進行比較多的動作,至於匿名者登錄,大概只會擁有下載文件的能力權限而已,
命令記錄與登錄文件記錄:
FTP可以利用系統的syslogd 來進行數據的記錄,而記錄的數據包括了用戶曾經下達過的命令與用戶傳輸數據(傳輸時間、檔案大小)等的記錄,所以你可以在/var/log中找到各項登錄記錄信息。
限制用戶活動的目錄:(change root,簡稱 chroot)
3 FTP的運行流程與使用到的端口
FTP的傳輸使用的是TCP封包協議,
FTP的聯機流程:
A 建立命令通道的聯機
客戶端會隨機去一個大於1024以上的端口來與FTP服務器的port 21 達成聯機,這個過程需要TCP的三次握手,達成聯機後客戶端便可以透過這個聯機來對FTP服務器下達命令,包括查問文件名、下載、上傳等指令都是利用這個通道完成的
B 通知FTP服務器端使用active且告知鏈接的端口
FTP服務器的21端口主要用在命令的下達,但是當涉及數據流時,就不是使用這個聯機了,客戶端在需要數據的情況下,會告知服務器端要用什麽方式來聯機,如果是主動式(active)聯機時,客戶端會先隨機啟用一個端口,且通過命令通道告知FTP服務器這兩個信息,並等待服務器的聯機
C FTP服務器(主動)向客戶端聯機
FTP服務器由命令通道了解了客戶端的需求後,會主動的由20端口向客戶端的port端口聯機,此時FTP客戶端與服務器共會建立兩條聯機,分別用在命令的下達與數據的傳遞,而預設FTP服務器端使用主動聯機的端口號就是 20

    FTP的傳輸會使用兩個信道,命令信道和數據信道,而數據信道是在有數據傳輸的行為時才會建立的通道,並不是一開始連接到FTP服務器就立刻建立的通道。
    主動式聯機使用到的端口:
    命令通道ftp(默認是port 21)與 數據傳輸的 ftp-data (默認為 port 20)

port 21端口主要是接受來自客戶端的主動聯機
port 20 端口則為FTP服務器主動連接至客戶端
技術分享圖片

客戶端選擇被動式(passive)聯機模式:
被動模式就是由客戶端向服務器端發起聯機,既然有客戶頓啊發起聯機,那自認就不需要考慮來自 port 20 的聯機了。
A 用戶與服務器建立命令信道:
同樣需要建立命令通道,透過三次握手的就可以建立起這個通道了。
B 客戶端發出PASV的聯機要求
當有使用數據信道的指令時,客戶端可透過命令通道發出PASV的被動式聯機要求(passive),並等待服務器的回應。
C FTP服務器啟動數據端口口,並通知客戶端聯機
如果FTP服務器是能夠處理被動式聯機,此時FTP服務器會先啟動一個端口來監聽,這個端口號可能是隨機的,也可以自定義某一範圍的端口,然後你的FTP服務器會透過命令通道告知客戶端已經啟動的端口,並等待客戶端的聯機
D 客戶端隨機取用大於1024的端口進行連接
被動式的數據信道的聯機方向是由客戶端向服務器端聯機的
技術分享圖片

被動式是客戶端連接服務器端進行數據傳輸
主動式是服務器連接客戶端進行數據傳輸

FTP服務器的安裝與測試
關閉防火墻,關閉selinux 
FTP的安裝:

技術分享圖片
技術分享圖片
測試:需要裝lftp客戶端
技術分享圖片
技術分享圖片

配置文件位置:
技術分享圖片

默認發布目錄位置:
技術分享圖片

測試
1 匿名用戶的登錄與上傳
默認的,匿名用戶不能上傳:

技術分享圖片

修改為匿名用戶可以上傳:
技術分享圖片
vsftp在創建時會創建一個默認用戶ftp和組ftp 將目錄的所屬組加入ftp中,並配置為可執行
技術分享圖片
技術分享圖片
重啟服務:
技術分享圖片
測試上傳:
技術分享圖片

匿名用戶家目錄的修改
將其家目錄修改為/aaa
技術分享圖片
技術分享圖片
技術分享圖片
測試
技術分享圖片
查看是否成功
技術分享圖片

匿名用戶可以建立目錄
先將其匿名訪問目錄恢復
技術分享圖片
刪除原有的anon_root=/aaa的配置
技術分享圖片
技術分享圖片
默認情況下,匿名用戶不具備創建目錄權限
技術分享圖片

修改配置文件
技術分享圖片
技術分享圖片
重啟服務
技術分享圖片
進行測試:
技術分享圖片

匿名用戶下載
默認匿名用戶不能下載
技術分享圖片

修改配置文件,此指令配置文件中不存在,需自己進行創建

技術分享圖片
技術分享圖片
重啟服務
技術分享圖片

測試
技術分享圖片

匿名用戶的刪除操作
默認情況下。匿名用戶不具有刪除操作
技術分享圖片

修改配置文件
技術分享圖片
技術分享圖片
技術分享圖片
技術分享圖片

匿名用戶使用的用戶身份修改:默認的用戶身份是ftp

技術分享圖片
技術分享圖片
技術分享圖片
技術分享圖片

本地用戶的設定:
本地用戶登錄限制
默認情況下本地用戶可以登錄:
技術分享圖片

配置本地用戶不能登錄
技術分享圖片
技術分享圖片
技術分享圖片
技術分享圖片

本地用戶寫權限限制
將登錄權限恢復
技術分享圖片
技術分享圖片
技術分享圖片

默認本地用戶具有寫權限

技術分享圖片

修改寫權限,使之不能寫
技術分享圖片
技術分享圖片
技術分享圖片
技術分享圖片

恢復:
技術分享圖片

限制本地用戶瀏覽自己的家目錄
默認可以瀏覽所有的目錄
技術分享圖片

限制在家目錄中
技術分享圖片
技術分享圖片
技術分享圖片
給予權限,否則不能登錄成功
技術分享圖片
技術分享圖片

用戶黑名單的建立:(作用是使加入黑名單的用戶被鎖定在自己的家目錄中,而未加入黑名單的用戶仍可訪問根目錄下的內容)
技術分享圖片

技術分享圖片
技術分享圖片

技術分享圖片

技術分享圖片
技術分享圖片

其MySQL用戶可以訪問根目錄下的東西,而admin用戶只能訪問自己家目錄下的東西

用戶白名單的建立
技術分享圖片
技術分享圖片
技術分享圖片
此時只有admin用戶在白名單之中,因此MySQL用戶不能登錄成功
技術分享圖片
將MySQL用戶加入白名單中:
技術分享圖片
技術分享圖片
技術分享圖片
此時MySQL用戶可以進行訪問
技術分享圖片

限制本機用戶登陸:

此時只限制admin用戶的登錄,而對MySQL用戶,則不做限制:
技術分享圖片
技術分享圖片
技術分享圖片
技術分享圖片

將MySQL用戶加入臨時黑名單中,(其可以隨著配置文件的改變而由黑名單變為白名單)
技術分享圖片
技術分享圖片
技術分享圖片
技術分享圖片

用戶白名單的建立:
技術分享圖片
技術分享圖片
技術分享圖片

技術分享圖片

FTP服務器的配置與管理