一、FTP服務介紹 vsftp(very security ftp file transfer protocol 非常文件傳輸協議) FTP分為主動模式和被動模式。 主動模式:(不安全,傳數據的埠是固定的20號,容易被截取) 1、 客向服的21號埠發送連接請求信號 2、 服使用20號埠主動和客 ...
一、FTP服務介紹
vsftp(very security ftp file transfer protocol 非常文件傳輸協議)
FTP分為主動模式和被動模式。
主動模式:(不安全,傳數據的埠是固定的20號,容易被截取)
1、 客向服的21號埠發送連接請求信號
2、 服使用20號埠主動和客連接,服使用20號發送的數據,客通過>1024的隨機埠接收。
被動模式:(安全,傳數據的埠是>1024的隨機埠,不易被截取)
1、 客向服的21號埠發送連接請求信號
2、 服使用>1024隨機埠主動和客連接,服使用>1024的隨機埠發送的數據,客通過>1024+1的隨機埠接收。
#lftp 登錄伺服器的這一瞬間的流程:
1、-------------tcp connection ------------->
首先,客戶端向服務端發送建立連接的請求
2、<-------------220 ready ----------------
服務端反饋220的代碼,表明21號埠處於正常偵聽狀態
3、-------------USER --------------------->
客戶端向服務端發送一個用戶名
4、<-------------331 authentication-----------
服務端反饋331代碼,要求客戶端輸入驗證密碼
5、-------------PASSWD------------------->
客戶端向服務端發送密碼
6、<-------------230 login-------------------
服務端反饋230代碼,如果驗證通過允許客登錄
7、-------------pwd ----------------------->
客戶端向服務端發送一條指令,例如pwd顯示當前路徑
8、<-------------257 work path --------------
服務端反饋代碼,顯示當前工作路徑,每個指令的反饋代碼都不同
二、實驗環境
VMware Workstation Pro15
Red Hat Enterprise Linux Server release 7.3 (Maipo)
xshell 6(可不需要)
三、安裝服務
[root@b ~]# yum install -y vsftpd lftp
四、匿名用戶訪問
直接重啟服務即可
[root@b ~]# systemctl restart vsftpd
測試
[root@b ~]# >/var/ftp/pub/1 [root@b ~]# ll /var/ftp/pub/1 -rw-r--r--. 1 root root 0 Jul 25 06:24 /var/ftp/pub/1 [root@b ~]# lftp b.kkcn.host lftp b.kkcn.host:~> ls drwxr-xr-x 2 0 0 15 Jul 25 10:24 pub lftp b.kkcn.host:/> cd pub/ lftp b.kkcn.host:/pub> ls -rw-r--r-- 1 0 0 0 Jul 25 10:24 1 lftp b.kkcn.host:/pub> get 1 lftp b.kkcn.host:/pub> exit [root@b ~]# ll -rw-r--r--. 1 root root 0 Jul 25 06:24 1
五、配置文件簡述
vim /etc/vsftpd/vsftpd.conf 主配置文件 anonymous_enable=YES 允許匿名訪問 local_enable=YES 允許本地 write_enable=YES 允許寫入 anon_upload_enable=YES 允許匿名上傳 anon_mkdir_write_ enable=YES 允許匿名用戶創建新的目錄 dirmessage_enalbe=YES 開啟目錄提示功能 xferlog_enable=YES 激活上傳下載的日誌 connect_from_port_20=YES 開啟20號埠的主動模式 chown_username=whoever 指定匿名上傳的用戶 xferlog_file=/var/log/xferlog 日誌文件,這個要反註釋打開 xferlog_std_format=YES 啟用日誌的標準格式 idle_session_timeout=600 連接上伺服器10分鐘內,如果什麼操作都不做,就會被伺服器踢掉,預設300秒 date-connection-timeout=120 會話超時時間,如果因為斷線導致連接斷開,2分鐘後,服務端會把客戶端踢下去,預設300秒 ftpd_banner=Welcome to joinlabs 歡迎信息,在lftp沒用 listen=NO NO只偵聽ipv4, YES偵聽ipv4和ipv6 listen_ipv6=YES 支持ipv6,但是不偵聽ipv6也沒用 userlist_enable=YES 啟用黑名單
六、配套設置