天天看點

安裝vsftpd(一)——匿名使用者

作者:未雲流

(1)主動模式

FTP用戶端從任意的一個非特權端口N(>1024)連接配接到伺服器的21端口,并發送使用者名和密碼進行登入,建立起二者之間的指令連接配接。

當需要傳輸資料時,用戶端通過指令連接配接發出PORT指令告訴伺服器“我開放的資料端口是N+1,你來連接配接我”;伺服器收到PORT指令後,

通過自己的20端口主動地發起與用戶端的N+1端口建立資料連接配接;在資料連接配接通道上,開始傳輸資料直至傳輸結束而終止資料連接配接。

安裝vsftpd(一)——匿名使用者

(2)被動模式

FTP用戶端從任意的一個非特權端口N(>1024)連接配接到伺服器的21端口,發送使用者名和密碼進行登入;當需要傳輸資料時,用戶端發送PASV指令到伺服器,

、讓伺服器進入被動模式;伺服器收到PASV指令後,會向用戶端傳回一個具有6個字段的字元串,其中,前四個字段是伺服器的IP位址,後兩個字段則是能

計算出伺服器端資料端口号的兩個參數,然後伺服器和用戶端均會按照“第5個字段*256+第6個字段”的算式計算其值(記為P),伺服器開啟P端口,用戶端則從

N+1号端口主動向伺服器的P号端口發起連接配接,進而建立起一條資料連接配接通道;在資料連接配接通道上,開始傳輸資料直至傳輸結束而終止資料連接配接。

安裝vsftpd(一)——匿名使用者

2.服務簡介

1.vsftpd軟體的特點

vsftpd的全稱是“very secure FTP daemon”(非常安全的守護)

優點:安全、高速、高穩定性、體積小、可定制強、效率高

官方下載下傳位址:ftp://vsftpd.beasts.org

2. vsftpd的傳輸模式

文本模式:該模式在傳輸檔案時使用ASCII字元序列傳輸資料,隻适合傳輸用HTML和文本編輯器編寫的檔案。

二進制模式:該模式以二進制序列傳輸資料,适合傳輸程式、壓縮包、圖檔等檔案。

3.vsftpd使用者的類型

匿名使用者:anonymous或ftp

本地使用者: 帳号名稱、密碼等資訊儲存在passwd、shadow檔案中

虛拟使用者: 使用獨立的帳号/密碼資料檔案

3.安裝

(1)CD光牒安裝(要挂載CD光牒,且不是最新版)

(2)yum線上安裝 (我選擇的)

指令: 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.           
安裝vsftpd(一)——匿名使用者
安裝vsftpd(一)——匿名使用者
設定項 說明
/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/ 匿名使用者的主目錄、下載下傳目錄
設定項 說明
/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/ 匿名使用者的主目錄、下載下傳目錄

在SELinux開啟的情況下,修改目錄/ftp/share的安全上下文,使匿名使用者能讀取檔案或目錄(即能浏覽、下載下傳檔案或目錄)。

指令:

[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行:設定匿名使用者登入後的根目錄