CentOS7配置vsftpd服務

1、Vsftpd服務是Linux常用的FTP軟件,優點短小精悍,安全易用,穩定性高,非常適合中小企業的多用戶文件傳輸共享。
1.1、什麼是FTP
FTP稱之爲文件傳輸協議,它是一個雙信道的協議,工作架構模式爲C/S(客戶端/服務器模式),FTP服務端提供資源存儲,FTP客戶端通過FTP協議訪問FTP服務端進行文件的上傳、刪除以及下載,之所以稱它爲雙信道協議,是FTP協議使用了TCP端口號20和21兩個端口號,20端口號用於數據傳輸,21端口號用於傳輸控制,但是數據傳輸端口號是否爲20與FTP協議的傳輸模式有關,如果爲主動模式,則使用20端口號,如果爲被動模式,則數據傳輸使用的端口號爲服務端和客戶端協商決定
1.2、主被動模式的區別:
主動模式Port:FTP客戶端向服務端發起請求,此時通過21端口號建立傳輸控制通道,客戶端如果需要數據,那麼就會通過這個建立的通道,向服務端發送PORT指令,此指令包含了客戶端要通過什麼接口接收數據,服務端會根據收到的PORT指令中客戶端提供的數據端口,用自己的20端口與其建立連接,然後發送客戶端所需要的數據
被動模式Passive:同樣的,FTP客戶端向服務端發起請求,通過21端口建立傳輸控制通道,此時客戶端如果需要數據,那麼通過建立的通道,發送不在是PORT指令,而是Passive指令,服務端收到Passive指令,會隨機打開一個大於1024的端口號,並且將這個端口號發送給客戶端,告知它數據通過這個端口傳輸,然後客戶端與這個端口建立數據傳輸連接,發送所需數據。
主被動的模式的選擇,會一定程度取決現實環境中防火牆的影響,默認FTP使用的是主動模式,如果在客戶端和服務端都開啓了防火牆,可以在防火牆上允許20和21端口號的放行。
2、配置Vsftpd服務
工作平臺:VMware workstations16.0
服務端系統:Centos Linux 7.9
ip:192.168.80.234
客戶端:Windows10
2.1、安裝Vsftpd











yum  -y install  vsftpd

2.2、關閉防火牆和SElinux

systemctl stop Firewalld
setenforce 0

2.3、啓動vsftpd服務

systemctl start vsftpd

2.4、默認vsftpd開啓了匿名用戶訪問,此時我們訪問服務端可以看到如下界面

CentOS7配置vsftpd服務
默認vsftpd服務安裝好後,會有一個FTP根目錄,就是/var/ftp/pub/這個目錄
我們以匿名用戶訪問時,默認是沒有修改權限的,因爲此時這個pub目錄的權限是不允許其他人修改的,即使你給了這個目錄讀寫執行權限,作爲匿名用戶還是不可以有任何修改的操作,包括刪除。
2.5、允許匿名用戶有修改權限,那麼就需要修改vsftpd的配置文件
2.5.1、首先我們來熟悉一下,默認的配置文件內容



[root@lab-234 ~]# cat /etc/vsftpd/vsftpd.conf |grep -v "^#"
anonymous_enable=YES    #允許匿名用戶訪問
local_enable=YES    #允許本地用戶訪問
write_enable=YES    #允許系統用戶寫入
local_umask=022     #默認本地用戶創建的文件權限掩碼
dirmessage_enable=YES   #目錄信息顯示,一般是用戶第一次訪問目錄提示
xferlog_enable=YES  #啓用上傳下載日誌記錄
connect_from_port_20=YES    #數據傳輸使用20端口
xferlog_std_format=YES   #日誌格式根據xferlog格式標準輸入
listen=NO       #vsftpd服務不單獨啓動,通過守護進程的方式管理
listen_ipv6=YES     #啓動ipv6監聽
pam_service_name=vsftpd     #啓動pam認證登錄,依據/etc/pam.d/vsftpd中的內容認證
userlist_enable=YES #vsftpd.user_list和ftpusers配置文件中的用戶禁止訪問
tcp_wrappers=YES    #vsftpd和tcp_wrappers配合,可以實現依據/etc/hosts.allow和/etc/hosts.deny中的設置,進行請求主機的訪問控制
anon_upload_enable=YES  #允許匿名用戶上傳文件
anon_mkdir_write_enable=YES #允許匿名用戶創建目錄
anon_other_write_enable=YES     #允許匿名用戶其他寫入權限
pasv_enable=YES     #啓動被動模式
pasv_min_port=5555  #被動模式最小端口號
pasv_max_port=6666      #被動模式最大端口號 

2.5.2、允許匿名用戶可以上傳和創建目錄以及刪除文件
只需要在配置文件中添加如下內容即可:

anon_upload_enable=YES  #允許匿名用戶上傳文件
anon_mkdir_write_enable=YES #允許匿名用戶創建目錄
anon_other_write_enable=YES     #允許匿名用戶其他寫入權限

CentOS7配置vsftpd服務
2.5.3、配置vsftpd系統用戶登錄
系統用戶登錄模式訪問,會自動進入登錄用戶的家目錄
創建用戶:


useradd  test  -s /sbin/nologin
echo "123456"|passwd  --stdin test

CentOS7配置vsftpd服務
登錄成功後,我們創建一個文件夾,此時我們在服務端查看一下test用戶家目錄,發現有一個新建的文件夾

[root@lab-234 ~]# ll  /home/test/
總用量 0
drwxr-xr-x. 2 test test 6 1月   7 15:08 新文件夾

注意:匿名用戶訪問時只能看到pub目錄,系統用戶登錄的新建的文件,無法查看。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章