1.簡述原理
(1)主動模式
ftp客戶端從任意的乙個非特權埠n(>1024)連線到伺服器的21埠,並傳送使用者名稱和密碼進行登入,建立起二者之間的命令連線。
當需要傳輸資料時,客戶端通過命令連線發出port命令告訴伺服器「我開放的資料埠是n+1,你來連線我」;伺服器收到port命令後,
通過自己的20埠主動地發起與客戶端的n+1埠建立資料連線;在資料連線通道上,開始傳輸資料直至傳輸結束而終止資料連線。
(2)被動模式
ftp客戶端從任意的乙個非特權埠n(>1024)連線到伺服器的21埠,傳送使用者名稱和密碼進行登入;當需要傳輸資料時,客戶端傳送pasv命令到伺服器,
、讓伺服器進入被動模式;伺服器收到pasv命令後,會向客戶端返回乙個具有6個字段的字串,其中,前四個欄位是伺服器的ip位址,後兩個欄位則是能
計算出伺服器端資料埠號的兩個引數,然後伺服器和客戶端均會按照「第5個字段*256+第6個字段」的算式計算其值(記為p),伺服器開啟p埠,客戶端則從
n+1號埠主動向伺服器的p號埠發起連線,從而建立起一條資料連線通道;在資料連線通道上,開始傳輸資料直至傳輸結束而終止資料連線。
2.服務簡介
1.vsftpd軟體的特點
vsftpd的全稱是「very secure ftp daemon」(非常安全的守護)
優點:安全、高速、高穩定性、體積小、可定製強、效率高
2. vsftpd的傳輸模式
文字模式:該模式在傳輸檔案時使用ascii字串行傳輸資料,只適合傳輸用html和文字編輯器編寫的檔案。
二進位制模式:該模式以二進位制序列傳輸資料,適合傳輸程式、壓縮包、等檔案。
3.vsftpd使用者的型別
匿名使用者:anonymous或ftp
本地使用者: 帳號名稱、密碼等資訊儲存在passwd、shadow檔案中
虛擬使用者: 使用獨立的帳號/密碼資料檔案
3.安裝
(1)光碟安裝(要掛載光碟,且不是最新版)
命令: yum install vsftpd
4.執行管理
1)vsftpd啟動、重啟、狀態查詢、停止等操作。
systemctl start|stop|restart|reload|status vsftpd.service、
(2)設定vsftpd開機啟動
systemctl enable|disable vsftpd.service
(3)檢查vsftpd程序
# ps -ef | grep ftp
(4)檢視埠占用情況
ss -nutap | grep ftp
在伺服器端設定防火牆,開啟ftp服務埠。
firewall-cmd --permanent --add-service=ftp
firewall-cmd --reload
5.使用ftp登陸
ftp 127.0.0.1 (你的ip addr顯示的也行):
connected to 192.*.*.* (192.*.*.*).
220 (vsftpd 3.0.2)
name (192.*.*.*:root): ftp //輸入使用者名稱,此處為匿名使用者
331 please specify the password.
password: //輸入使用者密碼,匿名使用者的密碼為空或任意字元
230 login successful.
remote system type is unix.
using binary mode to transfer files.
ftp> ls //顯示使用者登入後當前目錄下的檔案清單
227 entering passive mode (192.*.*.*,1.*.*).
150 here comes the directory listing.
drwxr-xr-x 2 0 0 6 2020 pub
226 directory send ok.
ftp> mkdir dir1 //在伺服器上的當前目錄下建立乙個資料夾
550 permission denied. //許可權被拒絕,表明匿名使用者在預設配置下不能上傳資訊
ftp> bye
221 goodbye.
6.常用命令
7.狀態值含義
8.配置檔案及目錄
設定項
說明
/etc/
vsftpd
/vsftpd.conf
主配置檔案
/etc/
vsftpd
/ftpusers
禁止訪問
vsftpd
的使用者列表檔案
(黑名單檔案)
/etc/vsftpd/user_list
禁止或允許訪問
vsftpd
的使用者列表檔案
,,預設是禁止登入
vsftpd
服務 (
黑名單),
但通過配置可以讓只有在此檔案裡的使用者才能訪問
vsftpd服務,
這樣新加入的使用者就不會自動擁有
vsftpd
的訪問權
,從而使伺服器更安全
/etc/
pam.d
/vsftpd
pam認證檔案
(此檔案中
file=/etc/
vsftpd
/ftpusers欄位,
指明阻止訪問的使用者來自
/etc/
vsftpd
/ftpusers
檔案中的使用者)
/var
/ftp/、/
var/ftp/pub/
9.匿名使用者配置
設定項
說明
/etc/
vsftpd
/vsftpd.conf
主配置檔案
/etc/
vsftpd
/ftpusers
禁止訪問
vsftpd
的使用者列表檔案
(黑名單檔案)
/etc/vsftpd/user_list
禁止或允許訪問
vsftpd
的使用者列表檔案
,,預設是禁止登入
vsftpd
服務 (
黑名單),
但通過配置可以讓只有在此檔案裡的使用者才能訪問
vsftpd服務,
這樣新加入的使用者就不會自動擁有
vsftpd
的訪問權
,從而使伺服器更安全
/etc/
pam.d
/vsftpd
pam認證檔案
(此檔案中
file=/etc/
vsftpd
/ftpusers欄位,
指明阻止訪問的使用者來自
/etc/
vsftpd
/ftpusers
檔案中的使用者)
/var
/ftp/、/
var/ftp/pub/
10.開啟selinux (安全子系統)
命令:[root@~]# ll -zd /ftp/share
drwxr-xr-x. root root unconfined_u:object_r:default_t:s0 /var/ftp/pub
[root@ ~]# chcon -r -t public_content_t /var/ftp/pub
[root@ ~]# ll -zd /var/ftp/pub
drwxr-xr-x. root root unconfined_u:object_r:public_content_r_t:s0 /var/ftp/pub
[root@]# vim /etc/vsftpd/vsftpd.conf
anonymous_enable=yes //12行:允許匿名使用者訪問
anon_root= /var/ftp //新增到13行:設定匿名使用者登入後的根目錄
最後重啟服務是配置檔案生效: systemctl restart vsftpd
2020-05-27
vsftpd匿名使用者實驗
1.匿名許可權控制 anonymous enable yes 啟動匿名訪問 anon umask 022 所上傳檔案的許可權掩碼 umask 022,目錄許可權755,檔案許可權644 anon root var ftp 的ftp根目錄 anon upload enable yes 允許上傳檔案 a...
配置允許匿名使用者登入訪問vsftpd服務
這裡在centos7版本系統下驗證的。步驟修改配置檔案vsftpd.conf 根據需要配置 vim etc vsftpd vsftpd.conf anonymous enable yes 是否允許登入 write enable yes enable any form of ftp write com...
關於VSFTPD匿名使用者檔案上傳許可權的問題
配置詳細 開啟配置檔案,修改如下內容 vi etc vsftp vsftpd.conf anonymous enable yes 允許訪問 write enable yes 允許登入使用者有寫許可權。屬於全域性設定 anon root var ftp 指定登入的目錄 anon upload enab...