1、簡介
ftp服務器全稱叫做file transfor protocol 服務器,中文叫做檔案傳輸協議,
2、所用的埠號
tcp20和21.其中20是資料傳輸埠,21是控制埠,
3、ftp的作業方式
server有兩個行程 一個主行程 負責接收新的請求 若干從行程 負責處理單個請求
主行程的作業步驟:
監聽21號埠 等待client發來的連接請求
啟動從屬行程 處理client發來的連接請求
client向server的21號埠發起連接請求時 還會攜帶一個隨機埠 作為建立資料傳送的埠
server使用20號埠與client的提供埠建立資料傳送連接
ftp有兩種作業模式
1)主動模式 (2步):server主動連接client
client使用隨機埠N 向server的21號埠建立控制連接 發送port命令 通告自己的資料傳送埠M
server通過自己的20號埠主動向client的M埠建立資料連接

問題:client端的防火墻deny外部server主動發起ftp連接(20)
解決:server端防火墻開21埠準入 20埠準出
client端設定相關應用通過防火墻
因此不建議在客戶端開啟防火墻的情況下, 使用主動模式,
2)被動模式(3步):client主動連接server,即server被client連接
client使用隨機埠N 向server的21號埠建立控制連接 發送pasv命令
server隨機打開一個高端埠P作為自己的資料傳送埠 發送port命令 通告client自己的資料傳送埠是P
client使用隨機埠M連接P埠 建立資料連接

問題:server端的防火墻deny外部client向p埠發送的ftp連接
解決:server端防火墻開21埠準入 設定p埠范圍 開啟針對p的準入
ftp報文中 port或者pasv報文包含active ip addr 和active port 欄位
注意:主被動模式,選擇權在客戶機上,所謂主或者被是站在服務器的角度,闡述的是資料傳輸程序,
4、實驗一:創建FTP站點
在做iis的web服務的時候,已經默認開啟了ftp服務,所以此時我們不需要特意去打開,我們可以在客戶機中進行驗證,

可以看到我們已經可以訪問到服務器的ftp了,
那么我們的默認站點在哪里呢?

我們可以在iis管理器中找到ftp站點,查看默認站點的屬性資訊,可以看到其位置存在于C盤下的inetpub檔案夾下的ftproot,我們可以實際在這個檔案夾中放一些檔案,再次嘗試在客戶機中進行訪問,

沒有問題,我們可以訪問到它,

我還可以更改默認位置,比如修改為我們之前所建立的web服務器的目錄,便于我們后期遠程對網頁內容進行修改,

此外,我們也可以將默認的ftp站點洗掉,自己發布新的ftp站點,

其他的內容都默認就行了,

完成后,還是可以訪問我們希望的內容,

我們在服務器中創建兩個新用戶,分別是admin和user1.

我們關閉ftp站點的允許匿名連接功能,后續所有人的訪問都需要輸入用戶名和口令,

我們在我們的ftp站點的檔案夾內新建兩個子檔案夾,它們分別是作業和筆記,我們基于的場景是老師給筆記檔案夾內放置筆記內容,學生向作業檔案夾內放置作業內容,它們的權限是不同的,其中老師對于兩個檔案夾都有完全控制權限,而學生對于作業檔案夾只有寫入和讀取檔案夾目錄的權限,對于筆記檔案夾有讀取、讀取檔案夾目錄、讀取和允許的權限,
我們給作業檔案夾配置安全權限,給admin完全控制權限,給user1寫入和列出檔案夾目錄權限,

我們給筆記檔案夾配置安全權限,給admin完全控制權限,讓user1繼承上級檔案夾的默認權限(讀取和運行、列出檔案夾目錄、讀取)
我們再次從客戶端中嘗試登錄ftp站點的時候,已經需要輸入我們的用戶名和口令了,我們分別使用user1和admin的角色去登錄,發現能夠實作我們預期的需求,
在切換用戶的時候,可以直接在檔案夾中右鍵登錄進行切換,

注意:用戶最終權限為FTP權限與NTFS權限取交集,建議FTP權限全部勾選,然后具體的在NTFS里做,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/376947.html
標籤:其他
上一篇:MySQL cookie注入
