ftp:檔案傳輸協議
兩類連線:
命令連線:傳輸命令
資料連線:傳輸資料
埠號 tcp 20/21
工作方式:
主動模式:
21埠--控制埠
20埠--資料埠
描述:當客戶端與ftp伺服器建立連線時客戶端會輸入賬戶和密碼,當輸入正確後,ftp伺服器會用21埠返回給客戶端一條登入成功的資訊。客戶端登入成功後會進行資料傳輸(連線成功後,客戶端開始監聽伺服器20埠),此時客戶端會產生一隨機埠號通過ftp伺服器21埠進行資料傳輸,當21埠收到資料流後會連線到ftp伺服器20埠將相關資料流傳輸給客戶端的隨機埠,實現雙方的資料傳輸。
被動模式:
21埠+隨機埠
描述:同樣當客戶機登入成功後,客戶端會開啟兩個隨機埠,第乙個埠連線到ftp伺服器21埠,此時客戶端傳送pasv命令,不允許ftp伺服器21埠連線20埠,這樣ftp伺服器會使用隨機埠號回應客戶端pasv應答。此時客戶端會使用第二個隨機埠號來監聽伺服器傳輸來的資料。
路徑對映:
使用者家目錄:每個使用者的url的/對映到當前使用者的家目錄
vsftpd以ftp使用者的身份執行程序,預設認使用者即為ftp使用者,匿名使用者的預設路徑即ftp使用者的家目錄/var/ftp
程式環境:
主程式:/usr/sbin/vsftpd
主配置檔案:/etc/vsftpd/vsftpd.conf
資料根目錄:/var/ftp
系統模組檔案:/usr/lib/systemd/system/vsftpd.service
配置vsftpd:
ftp使用者:
匿名使用者:
虛擬使用者:非系統使用者,使用者賬號非為可登陸作業系統的使用者賬號
系統使用者:至少禁止系統使用者訪問ftp服務,/etc/vsftpd/ftpusers, pam (/etc/pam.d/vsftpd)
使用者通過vsftpd服務訪問到預設路徑,是使用者自己的家目錄;預設可以自己有許可權訪問的所有路徑切換
配置檔案:
/etc/vsftpd/vsftpd.conf
匿名使用者:
anonymous_enablen=yes
anon_upload_enable=yes
anon_mkdir_write_enable=yes
anon_other_write_enable=yes
系統使用者:
local_enable=yes
write_enable=yes
local_umask=022
輔助配置檔案/etc/vsftpd/ftpusers
列在此檔案中的使用者 均禁止使用ftp服務
chroot_local_user=yes
本地使用者在訪問時只能訪問自己的家目錄
chroot_list_enable=yes
chroot_list_file=/etc/vsftpd/chroot_list
禁據列表中檔案存在的使用者於其家目錄中 ;需要事先去除使用者對家目錄的寫許可權
傳輸日誌:
xferlog_enable=yes
xferlog_file=/var/log/xferlog
xferlog_std_format=yes
守護程序的型別:
anon_max-rate=0
local_max_rate=0
併發連線數限制:
max_clients=2000
max_per_ip=50
測試:
(1)vsftpd可以直接使用linux系統的本地使用者作為ftp使用者
使用本地使用者登入ftp伺服器後,預設將位於使用者自己的主目錄中,且具有讀寫許可權
如利用qwertyuiop使用者訪問ftp,那麼預設將進入到的目錄是/home/qwertyuiop
建立系統使用者,並設定密碼,並在主目錄中放置乙個測試檔案:
useradd ftptest
passwd vsftpdtest
echo 『ftp test』 > /home/ftptest/ftptest.txt
建立系統使用者test,並設定密碼:
useradd qwertyuiop
passwd qwertyuiop
(2)允許使用者ftptest登入,且登入成功後位於自己的家目錄中。不允許qwertyuiop使用者登陸
anonymous_enable=no
local_enable=yes
write_enable=yes
chroot_local_user =yes
chroot_list_enable=no
chroot_list_file=/etc/vsftpd/chroot_list
local_umask=022
userlist_enable=yes
userlist_deny=no
將ftptest使用者加入到 /etc/vsftpd/user_list檔案。
(3)允許qwertyuiop使用者登入,登入成功後位於/data目錄,禁止ftptest使用者登入
anonymous_enable=no
local_enable=yes
write_enable=yes
chroot_local_user =yes
chroot_list_enable=no
chroot_list_file=/etc/vsftpd/chroot_list
local_umask=022
userlist_enable=yes
userlist_deny=no
local_root=/data
將qwertyuiop使用者加入到 /etc/vsftpd/user_list檔案。從此檔案中刪除ftptest使用者
注:每次測試必須重新啟動服務
FTP 檔案傳輸協議
1.什麼是ftp 檔案傳輸協議 英文 file transfer protocol,簡稱為ftp 是用於在網路上進行檔案傳輸的一套標準協議。它屬於網路傳輸協議的應用層。ftp是乙個8位的客戶端 伺服器協議,能操作任何型別的檔案而不需要進一步處理,就像mime或unencode一樣。缺點 ftp有著極...
檔案傳輸協議 FTP
ftp是在兩個計算機之間傳輸檔案的協議。一般有兩種情形,一種是需要登入的ftp檔案伺服器,另外一種ftp伺服器是匿名的,它允許任何人進行訪問。ftp使用兩條tcp連線 一條用來控制,另一條用來資料傳輸。用於控制的tcp連線主要在ftp的控制部分使用。例如 登入使用者名稱和密碼的驗證,傳送檔案的名稱等...
檔案傳輸協議FTP
檔案傳送協議ftp file transfer protocol ftp客戶計算機和ftp伺服器計算機可以互傳檔案。在windows系統中新增了乙個ftp站點 ftp伺服器 網上自查。假如伺服器的位址為192.168.124.16,我們就可以在ftp客戶端使用瀏覽器來訪問該伺服器。二 用途 1 ft...