linux之檔案傳輸協議(FTP)與本地使用者測試

2021-10-04 21:09:27 字數 3101 閱讀 3579

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...