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
守護行程的型別:
standalone :獨立守護行程;由服務行程自行監聽套按字.并接收用戶訪問請求
translent :瞬時守護行程;由受托管方代為監聽套按字,服務行程沒有訪問請求時不啟動;當托管方收到訪問請求時才啟動服務行程
Centos 6 : xinetd獨立守護行程/etc/xinetd.d/
Centos 7 :由systemd代為監聽
控制可登陸vsftpd服務的用戶串列:
userlist_enable=YES
啟用/etc/vsftpd/user_list檔案來控制可登錄用戶
userlist_deny=
YES:意味著此為黑名單
NO:白名單
上傳下載速率:
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用戶
注:每次測驗必須重新啟動服務
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/75797.html
標籤:其他
下一篇:求教大神這段代碼是什么意思
