中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

基于CentOS7.3構建企業級Vsftpd文件服務器

發布時間:2020-07-28 08:42:14 來源:網絡 閱讀:9087 作者:吳光科 欄目:建站服務器

文件傳輸協議(File Transfer Protocol,FTP),基于該協議FTP客戶端與服務端可以實現共享文件、上傳文件、下載文件。 FTP 基于TCP協議生成一個虛擬的連接,主要用于控制FTP連接信息,同時再生成一個單獨的TCP連接用于FTP數據傳輸。用戶可以通過客戶端向FTP服務器端上傳、下載、刪除文件,FTP服務器端可以同時提供給多人共享使用。


FTP服務是Client/Server(簡稱C/S)模式,基于FTP協議實現FTP文件對外共享及傳輸的軟件稱之為FTP服務器源端,客戶端程序基于FTP協議,則稱之為FTP客戶端,FTP客戶端可以向FTP服務器上傳、下載文件。

1、FTP傳輸模式

FTP基于C/S模式,FTP客戶端與服務器端有兩種傳輸模式,分別是FTP主動模式、FTP被動模式,主被動模式均是以FTP服務器端為參照。主被動模式如圖1-2(a)、1-2(b)所示,主被動模式詳細區別如下:

(1)FTP主動模式:客戶端從一個任意的端口N(N>1024)連接到FTP服務器的port 21命令端口,客戶端開始監聽端口N+1,并發送FTP命令“port N+1”到FTP服務器,FTP服務器以數據端口(20)連接到客戶端指定的數據端口(N+1)。

(2)FTP被動模式:客戶端從一個任意的端口N(N>1024)連接到FTP服務器的port 21命令端口,客戶端開始監聽端口N+1,客戶端提交 PASV命令,服務器會開啟一個任意的端口(P >1024),并發送PORT P命令給客戶端。客戶端發起從本地端口N+1到服務器的端口P的連接用來傳送數據。

在企業實際環境中,如果FTP客戶端與FTP服務端均開放防火墻,FTP需以主動模式工作,這樣只需要在FTP服務器端防火墻規則中,開放20、21端口即可。關于防火墻配置后面章節會講解。


基于CentOS7.3構建企業級Vsftpd文件服務器

圖1-2(a) FTP主動模式

-------------------------------------------------------------------------------------------------------

基于CentOS7.3構建企業級Vsftpd文件服務器

圖1-2(b) FTP被動模式

2、Vsftpd服務器簡介

目前主流的FTP服務器端軟件包括:Vsftpd、ProFTPD、PureFTPd、Wuftpd、Server-U FTP、FileZilla Server等軟件,其中Unix/Linux使用較為廣泛的FTP服務器端軟件為Vsftpd 。

非常安全的FTP服務進程(Very Secure FTP daemon,Vsftpd),Vsftpd在Unix/Linux發行版中最主流的FTP服務器程序,優點小巧輕快,安全易用、穩定高效、滿足企業跨部門、多用戶的使用等。

3、Vsftpd服務器安裝配置

Vsftpd服務器端安裝有兩種方法,一是基于YUM方式安裝,而是基于源碼編譯安裝,最終實現效果完全一致,本文采用YUM安裝Vsftpd,步驟如下:

(1)   在命令行執行如下命令,如圖1-3所示:

yum   install    vsftpd*   -y

基于CentOS7.3構建企業級Vsftpd文件服務器

圖1-3 YUM安裝Vsftpd服務端

(2)   打印vsftpd安裝后的配置文件路徑、啟動Vsftpd服務及查看進程是否啟動,如圖1-4所示:

rpm   -ql     vsftpd|more

systemctl  restart   vsftpd.service

ps   -ef |grep  vsftpd

基于CentOS7.3構建企業級Vsftpd文件服務器

圖1-4 打印Vsftpd軟件安裝后路徑

(3)   Vsftpd.conf默認配置文件詳解如下:

anonymous_enable=YES           開啟匿名用戶訪問;

local_enable=YES                      啟用本地系統用戶訪問;

write_enable=YES                     本地系統用戶寫入權限;

local_umask=022                      本地用戶創建文件及目錄默認權限掩碼;

dirmessage_enable=YES           打印目錄顯示信息,通常用于用戶第一次訪問目錄時,信息提示;

xferlog_enable=YES                  啟用上傳/下載日志記錄; 

connect_from_port_20=YES      FTP使用20端口進行數據傳輸;

xferlog_std_format=YES           日志文件將根據xferlog的標準格式寫入;

listen=NO                                  Vsftpd不以獨立的服務啟動,通過Xinetd服務管理,建議改成YES;

listen_ipv6=YES                        啟用IPV6監聽;

pam_service_name=vsftpd       登錄FTP服務器,依據/etc/pam.d/vsftpd中內容進行認證;

userlist_enable=YES                  Vsftpd.user_list和ftpusers配置文件里用戶禁止訪問FTP;

tcp_wrappers=YES                    設置vsftpd與tcp wrapper結合進行主機的訪問控制,Vsftpd服務器檢查/etc/hosts.allow 和/etc/hosts.deny中的設置,來決定請求連接的主機,是否允許訪問該FTP服務器。

(4)   啟動Vsftpd服務后,通過Windows客戶端資源管理器訪問Vsftp服務器端,如圖1-5所示:

ftp://192.168.111.131/

基于CentOS7.3構建企業級Vsftpd文件服務器

圖1-5 匿名用戶訪問FTP默認目錄

FTP主被動模式,默認為被動模式,設置為被動模式使用端口方法如下:

pasv_enable=YES

pasv_min_port=60000

pasv_max_port=60100

4、Vsftpd匿名用戶配置

Vsftpd默認以匿名用戶訪問,匿名用戶默認訪問的FTP服務器端路徑為:/var/ftp/pub,匿名用戶只有查看權限,無法創建、刪除、修改。如需關閉FTP匿名用戶訪問,需修改配置文件/etc/vsftpd/vsftpd.conf,將anonymous_enable=YES修改為anonymous_enable=NO,重啟Vsftpd服務即可。

如果允許匿名用戶能夠上傳、下載、刪除文件,需在/etc/vsftpd/vsftpd.conf配置文件中加入如下代碼:

anon_upload_enable=YES                  允許匿名用戶上傳文件;

anon_mkdir_write_enable=YES          允許匿名用戶創建目錄;

anon_other_write_enable=YES           允許匿名用戶其他寫入權限。

匿名用戶完整vsftpd.conf配置文件代碼如下:

anonymous_enable=YES

local_enable=YES

write_enable=YES

local_umask=022

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

dirmessage_enable=YES

xferlog_enable=YES

connect_from_port_20=YES

xferlog_std_format=YES

listen=NO

listen_ipv6=YES

pam_service_name=vsftpd

userlist_enable=YES

tcp_wrappers=YES

由于默認Vsftpd匿名用戶有兩種:anonymous、ftp,所以匿名用戶如果需要上傳文件、刪除及修改等權限,需要ftp用戶對/var/ftp/pub目錄有寫入權限,使用如下chown和chmod任意一種即可,設置命令如下:

chown      -R  ftp         pub/

chmod          o+w     pub/

如上Vsftpd.conf配置文件配置完畢,同時權限設置完,重啟vsftpd服務即可,通過Windows客戶端訪問,能夠上傳文件、刪除文件、創建目錄等操作,如圖1-6所示:

基于CentOS7.3構建企業級Vsftpd文件服務器

圖1-6 匿名用戶訪問上傳文件

5、Vsftpd系統用戶配置

Vsftpd匿名用戶設置完畢,匿名用戶,任何人都可以查看FTP服務器端的文件、目錄,甚至可以修改、刪除,此方案如適合存放私密文件在FTP服務器端,如何保證文件或者目錄專屬擁有者呢,Vsftpd系統用戶可以實現該需求。

實現Vsftpd系統用戶方式驗證,只需在Linux系統中創建多個用戶即可,創建用戶使用useradd,同時給用戶設置密碼,即可通過用戶和密碼登錄FTP,進行文件上傳、下載、刪除等操作。Vsftpd系統用戶實現方法步驟如下:

(1)   Linux系統中創建系統用戶jfedu1、jfedu2,分別設置密碼為123456:

useradd   jfedu1

useradd   jfedu2

echo 123456|passwd --stdin  jfedu1

echo 123456|passwd --stdin  jfedu2

(2)   修改vsftpd.conf配置文件代碼如下:

anonymous_enable=NO

local_enable=YES

write_enable=YES

local_umask=022

dirmessage_enable=YES

xferlog_enable=YES

connect_from_port_20=YES

xferlog_std_format=YES

listen=NO

listen_ipv6=YES

pam_service_name=vsftpd

userlist_enable=YES

tcp_wrappers=YES

(3)   通過Windows資源客戶端驗證,使用jfedu1、jfedu2用戶登錄FTP服務器,即可上傳文件、刪除文件、下載文件,jfedu1、jfedu2系統用戶上傳文件的家目錄在/home/jfedu1、/home/jfedu2下,如圖1-7(a)、1-7(b)所示:

基于CentOS7.3構建企業級Vsftpd文件服務器

圖1-7(a) jfedu1用戶登錄FTP服務器

基于CentOS7.3構建企業級Vsftpd文件服務器

圖1-7(b) jfedu1登錄FTP服務器上傳文件

6、Vsftpd虛擬用戶配置

如果基于Vsftpd系統用戶訪問FTP服務器,系統用戶越多越不利于管理,而且不利于系統安全管理,鑒于此,為了能更加的安全使用VSFTPD,需使用Vsftpd虛擬用戶方式。

Vsftpd虛擬用戶原理:虛擬用戶就是沒有實際的真實系統用戶,而是通過映射到其中一個真實用戶以及設置相應的權限來實現訪問驗證,虛擬用戶不能登錄Linux系統,從而讓系統更加的安全可靠。

Vsftpd虛擬用戶企業案例配置步驟如下:

(1)   安裝Vsftpd虛擬用戶需用到的軟件及認證模塊:

yum  install   pam*  libdb-utils  libdb*   --skip-broken  -y

(2)   創建虛擬用戶臨時文件/etc/vsftpd/ftpusers.txt,新建虛擬用戶和密碼,其中jfedu001、jfedu002為虛擬用戶名,123456為密碼,如果有多個用戶,依次格式填寫即可:

jfedu001

123456

jfedu002

123456

(3)   生成Vsftpd虛擬用戶數據庫認證文件,設置權限700:

db_load  -T   -t  hash  -f   /etc/vsftpd/ftpusers.txt   /etc/vsftpd/vsftpd_login.db

chmod  700   /etc/vsftpd/vsftpd_login.db

(4)   配置PAM認證文件,/etc/pam.d/vsftpd行首加入如下兩行:

auth      required        pam_userdb.so   db=/etc/vsftpd/vsftpd_login

account   required        pam_userdb.so   db=/etc/vsftpd/vsftpd_login

(5)   所有Vsftpd虛擬用戶需要映射到一個系統用戶,該系統用戶不需要密碼,也不需要登錄,主要用于虛擬用戶映射使用,創建命令如下:

useradd    -s    /sbin/nologin    ftpuser

(6)   完整vsftpd.conf配置文件代碼如下:

#global config Vsftpd 2017

anonymous_enable=YES

local_enable=YES

write_enable=YES

local_umask=022

dirmessage_enable=YES

xferlog_enable=YES

connect_from_port_20=YES

xferlog_std_format=YES

listen=NO

listen_ipv6=YES

userlist_enable=YES

tcp_wrappers=YES

#config virtual user FTP

pam_service_name=vsftpd

guest_enable=YES

guest_username=ftpuser

user_config_dir=/etc/vsftpd/vsftpd_user_conf

virtual_use_local_privs=YES

如上Vsftpd虛擬用戶配置文件參數詳解:

#config virtual user FTP

pam_service_name=vsftpd                                     虛擬用戶啟用pam認證;

guest_enable=YES                                                  啟用虛擬用戶;

guest_username=ftpuser                                        映射虛擬用戶至系統用戶ftpuser;

user_config_dir=/etc/vsftpd/vsftpd_user_conf       設置虛擬用戶配置文件所在的目錄;

virtual_use_local_privs=YES                                     虛擬用戶使用與本地用戶相同的權限。

(7)   至此,所有虛擬用戶共同基于/home/ftpuser主目錄實現文件上傳與下載,可以在/etc/vsftpd/vsftpd_user_conf目錄創建虛擬用戶各自的配置文件,創建虛擬用戶配置文件主目錄:

mkdir  -p     /etc/vsftpd/vsftpd_user_conf/

(8)   如下分別為虛擬用戶jfedu001、jfedu002用戶創建配置文件:

 /etc/vsftpd/vsftpd_user_conf/jfedu001,同時創建私有的虛擬目錄,代碼如下:

local_root=/home/ftpuser/jfedu001

write_enable=YES

anon_world_readable_only=YES

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

/etc/vsftpd/vsftpd_user_conf/jfedu002,同時創建私有的虛擬目錄,代碼如下:

local_root=/home/ftpuser/jfedu002

write_enable=YES

anon_world_readable_only=YES

anon_upload_enable=YES

anon_mkdir_write_enable=YES

anon_other_write_enable=YES

虛擬用戶配置文件內容詳解:

local_root=/home/ftpuser/jfedu002   jfedu002虛擬用戶配置文件路徑;

write_enable=YES                               允許登陸用戶有寫權限;        

anon_world_readable_only=YES        允許匿名用戶下載,然后讀取文件;

anon_upload_enable=YES                  允許匿名用戶上傳文件,只有在write_enable=YES時該參數才生效;

anon_mkdir_write_enable=YES          允許匿名用戶創建目錄,只有在write_enable=YES時該參數才生效;

anon_other_write_enable=YES           允許匿名用戶其他權限,例如刪除、重命名等。

(9)   創建虛擬用戶各自虛擬目錄:

mkdir -p  /home/ftpuser/{jfedu001,jfedu002} 

chown -R ftpuser:ftpuser  /home/ftpuser

重啟Vsftpd服務,通過Windows客戶端資源管理器登錄Vsftpd服務端,測試結果如圖1-8(a)、1-8(b)所示:

基于CentOS7.3構建企業級Vsftpd文件服務器

圖1-8(a) jfedu001虛擬用戶登錄FTP服務器

基于CentOS7.3構建企業級Vsftpd文件服務器

圖1-8(b) jfedu001虛擬用戶上傳下載文件

你若覺得作者的文章寫得不錯,請獎勵作者幾錠銀子,讓作者感受到來自你滿滿的鼓勵和繼續創作的動力!我們支持原創!鼓勵原創!

打賞之后,文章底部顯示參與打賞者的記錄,可以直接通過微信掃描打賞喲,直接按打賞根據提示操作。

自定義打賞金額,友情提示打賞金額不要超過50元哦,土豪可以隨意哦,51CTO謝謝您對作者的支持!謝謝你的慷慨大方!

基于CentOS7.3構建企業級Vsftpd文件服務器

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

西和县| 金沙县| 邢台市| 博白县| 舞阳县| 任丘市| 中方县| 出国| 青阳县| 云龙县| 赤壁市| 竹北市| 营口市| 榆中县| 太和县| 青阳县| 通城县| 南京市| 南漳县| 阳信县| 蒙阴县| 桐庐县| 仪征市| 景宁| 财经| 丹寨县| 扶余县| 漳浦县| 青冈县| 师宗县| 合作市| 会宁县| 达州市| 鄂托克旗| 会东县| 本溪市| 壤塘县| 保定市| 武夷山市| 邻水| 雷山县|