(25)-第12章 FTP服務(wù)器配置_第1頁
(25)-第12章 FTP服務(wù)器配置_第2頁
(25)-第12章 FTP服務(wù)器配置_第3頁
(25)-第12章 FTP服務(wù)器配置_第4頁
(25)-第12章 FTP服務(wù)器配置_第5頁
已閱讀5頁,還剩87頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

第13章FTP服務(wù)器配置

項(xiàng)目描述:某學(xué)院組建了校園網(wǎng),建設(shè)了學(xué)院網(wǎng)站,架設(shè)了Web服務(wù)器來為學(xué)院網(wǎng)站安家,但在網(wǎng)站上傳和更新時,需要用到文件上傳和下載,功能因此還要架設(shè)FTP服務(wù)器,為學(xué)院內(nèi)部和互聯(lián)網(wǎng)用戶提供FTP等服務(wù)。本單元先實(shí)踐配置與管理Apache服務(wù)器。

項(xiàng)目目標(biāo):●掌握FTP服務(wù)的工作原理●學(xué)會配置vsftpd服務(wù)器

●實(shí)踐典型的FTP服務(wù)器配置案例13.1FTP服務(wù)器概述以HTTP為基礎(chǔ)的WWW服務(wù)功能雖然強(qiáng)大,但對于文件傳輸來說卻略顯不足。一種專門用于文件傳輸?shù)姆?wù)FTP服務(wù)應(yīng)運(yùn)而生。FTP服務(wù)就是文件傳輸服務(wù),F(xiàn)TP的全稱是FileTransferProtocol,顧名思義,就是文件傳輸協(xié)議,具備更強(qiáng)的文件傳輸可靠性和更高的效率。13.1.1FTP工作原理FTP大大簡化了文件傳輸?shù)膹?fù)雜性,它能夠使文件通過網(wǎng)絡(luò)從一臺主機(jī)傳送到另外一臺計算機(jī)上卻不受計算機(jī)和操作系統(tǒng)類型的限制。無論是PC、服務(wù)器、大型機(jī),還是IOS、Linux、Windows操作系統(tǒng),只要雙方都支持協(xié)議FTP,就可以方便、可靠地進(jìn)行文件的傳送。FTP服務(wù)的具體工作過程如下,如圖13.1.1FTP工作原理(1)客戶端向服務(wù)器發(fā)出連接請求,同時客戶端系統(tǒng)動態(tài)地打開一個大于1024的端口等候服務(wù)器連接(比如1031端口)。(2)若FTP服務(wù)器在端口21偵聽到該請求,則會在客戶端1031端口和服務(wù)器的21端口之間建立起一個FTP會話連接。(3)當(dāng)需要傳輸數(shù)據(jù)時,F(xiàn)TP客戶端再動態(tài)地打開一個大于1024的端口(比如1032端口)連接到服務(wù)器的20端口,并在這兩個端口之間進(jìn)行數(shù)據(jù)的傳輸。當(dāng)數(shù)據(jù)傳輸完畢后,這兩個端口會自動關(guān)閉。(4)當(dāng)FTP客戶端斷開與FTP服務(wù)器的連接時,客戶端上動態(tài)分配的端口將自動釋放。13.1.2匿名用戶FTP服務(wù)不同于WWW,它首先要求登錄到服務(wù)器上,然后再進(jìn)行文件的傳輸,這對于很多公開提供軟件下載的服務(wù)器來說十分不便,于是匿名用戶訪問就誕生了。通過使用一個共同的用戶名anonymous,密碼不限的管理策略(一般使用用戶的郵箱作為密碼即可),讓任何用戶都可以很方便地從這些服務(wù)器上下載軟件。13.1.3FTP服務(wù)的傳輸模式FTP服務(wù)有兩種工作模式:主動傳輸模式(ActiveFTP)和被動傳輸模式(PassiveFTP)。1.主動傳輸模式在主動傳輸模式下,F(xiàn)TP客戶端隨機(jī)開啟一個大于1024的端口N(比如1031)向服務(wù)器的21號端口發(fā)起連接,然后開放N+1號端口(1032)進(jìn)行監(jiān)聽,并向服務(wù)器發(fā)出PORT1032命令。服務(wù)器接收到命令后,會用其本地的FTP數(shù)據(jù)端口(通常是20)來連接客戶端指定的端口1032,進(jìn)行數(shù)據(jù)傳輸,如圖13.1.3FTP服務(wù)的傳輸模式2.被動傳輸模式在被動傳輸模式下,F(xiàn)TP客戶端隨機(jī)開啟一個大于1024的端口N(比如1031)向服務(wù)器的21號端口發(fā)起連接,同時會開啟N+1號端口(1032),然后向服務(wù)器發(fā)送PASV命令,通知服務(wù)器自己處于被動模式。服務(wù)器收到命令后,會開放一個大于1024的端口P(1521)進(jìn)行監(jiān)聽,然后用PORTP命令通知客戶端,自己的數(shù)據(jù)端口是1521??蛻舳耸盏矫詈?,會通過1032號端口連接服務(wù)器的端口1521,然后在兩個端口之間進(jìn)行數(shù)據(jù)傳輸,如圖13.1.4Vsftpd簡介vsftpd是目前Linux中最常用的FTP服務(wù)器軟件,

vsftpd是“verysecureFTPdaemon”的縮寫,安全性是它的一個最大的特點(diǎn)。它可以運(yùn)行在諸如Linux、BSD、Solaris、HP-UNIX等系統(tǒng)上面,是一個完全免費(fèi)的、開放源代碼的ftp服務(wù)器軟件,支持很多其他的FTP服務(wù)器所不支持的特征。

在開源操作系統(tǒng)中常用的FTPD套件主要還有ProFTPD、PureFTPd和wuftpd等

13.1.5FTP命令

Linux系統(tǒng)中FTP命令的登錄界面13.1.5FTP命令

Windows系統(tǒng)中FTP命令的登錄界面在登錄成功之后,用戶就可以進(jìn)行相應(yīng)的文件傳輸操作了。在提示符下輸入“?”,顯示ftp命令說明。?與help相同。其中常用到的一些重要命令見相關(guān)資料下載。13.2

項(xiàng)目設(shè)計與準(zhǔn)備13.2.1項(xiàng)目設(shè)計在VMWare虛擬機(jī)中啟動一臺Linux服務(wù)器作為vsftpd服務(wù)器,在該系統(tǒng)中添加用戶user1和user2。在客戶端對vsftpd服務(wù)器進(jìn)行測試。最后介紹一個典型vsftpd服務(wù)器配置案例,以達(dá)到融會貫通的教學(xué)目標(biāo)。13.2.2項(xiàng)目準(zhǔn)備需要如下設(shè)備。1.PC計算機(jī)2臺,其中PCA安裝企業(yè)版Linux網(wǎng)絡(luò)操作系統(tǒng),另一臺作為測試客戶端。2.推薦使用虛擬機(jī)進(jìn)行網(wǎng)絡(luò)環(huán)境搭建。13.3

項(xiàng)目實(shí)施13.3.1安裝、啟動與停止vsftpd服務(wù)1.安裝vsftpd服務(wù)[root@RHEL6桌面]#rpm-qvsftpd[root@RHEL6桌面]#mkdir/iso[root@RHEL6桌面]#mount/dev/cdrom/isomount:blockdevice/dev/sr0iswrite-protected,mountingread-only[root@RHEL6桌面]#yumcleanall

//安裝前先清除緩存[root@RHEL6桌面]#yuminstallvsftpd–y[root@RHEL6桌面]#yuminstallftp–y //同時安裝ftp軟件包[root@RHEL6桌面]#rpm–qa|grepvsftpd //檢查安裝組件是否成功13.3

項(xiàng)目實(shí)施13.3.1安裝、啟動與停止vsftpd服務(wù)可以使用下面的命令檢查系統(tǒng)是否已經(jīng)安裝了vsftpd服務(wù):[root@RHEL6桌面]#rpm-qa|grepftpgvfs-obexftp-1.4.3-15.el6.x86_64vsftpd-2.2.2-11.el6.x86_64ftp-0.17-53.el6.x86_6413.3.1安裝、啟動與停止vsftpd服務(wù)2.vsftpd服務(wù)啟動、重啟、隨系統(tǒng)啟動、停止[root@RHEL6桌面]#servicevsftpdstart[root@RHEL6桌面]#servicevsftpdrestart[root@RHEL6桌面]#chkconfigvsftpdon //每次開機(jī)后自動啟動[root@RHEL6桌面]#servicevsftpdstop13.3.1安裝、啟動與停止vsftpd服務(wù)3.在客戶端client測試vsftpd服務(wù)①在虛擬機(jī)client上進(jìn)行測試,安裝ftp軟件包,測試時出現(xiàn)錯誤:[root@client桌面]#mount/dev/cdrom/isomount:blockdevice/dev/sr0iswrite-protected,mountingread-only[root@client桌面]#yuminstallvsftpd–y[root@client桌面]#yuminstallftp–y //同時安裝ftp軟件包[root@client桌面]#ftp0ftp:connect:沒有到主機(jī)的路由 //出現(xiàn)錯誤ftp>exit13.3.1安裝、啟動與停止vsftpd服務(wù)3.在客戶端client測試vsftpd服務(wù)①在虛擬機(jī)client上進(jìn)行測試,安裝ftp軟件包,測試時出現(xiàn)錯誤:分析:只能是防火墻和SELinux。一是讓防火墻放行FTP服務(wù),關(guān)閉SELinux;二是關(guān)閉防火墻和SELinux。13.3.1安裝、啟動與停止vsftpd服務(wù)3.在客戶端client測試vsftpd服務(wù)②關(guān)閉防火墻和SELinux后的測試結(jié)果如圖所示。默認(rèn)FTP目錄下有個文件夾pub。13.3.2認(rèn)識VSftpd的配置文件vftpd的配置主要通過以下幾個文件來完成。1./etc/pam.d/vsftpdvsftpd的PluggableAuthenticationModules(PAM)配置文件,主要用來加強(qiáng)vsftpd服務(wù)器的用戶認(rèn)證。2./etc/vsftpd/vsftpd.confvsftpd的主配置文件。配置FTP服務(wù)器主要工作要通過修改此文件來完成。13.3.2認(rèn)識VSftpd的配置文件3./etc/vsftpd/ftpusers所有位于此文件內(nèi)的用戶都不能訪問vsftpd服務(wù)。當(dāng)然,為了安全起見,這個文件中默認(rèn)已經(jīng)包括了root、bin和daemon等系統(tǒng)賬號。4./etc/vsftpd/user_list這個文件中包括的用戶有可能是被拒絕訪問vsftpd服務(wù)的,也可能是允許訪問的,這主要取決于vsftpd的主配置文件/etc/vsftpd/vsftpd.conf中的“userlist_deny”參數(shù)是設(shè)置為“YES”(默認(rèn)值)還是“NO”。5./var/ftpvsftpd提供服務(wù)的文件集散地,它包括一個pub子目錄。在默認(rèn)配置下,所有的目錄都是只讀的,不過只有root用戶有寫權(quán)限。13.3.4配置vsftpd常規(guī)服務(wù)器1.配置監(jiān)聽地址與控制端口有時候,也許你不想采用FTP的默認(rèn)21端口來提供服務(wù)。【例13-1】設(shè)置客戶端訪問通過2121端口,而不是默認(rèn)的21端口來進(jìn)行。(1)用文本編輯器打開/etc/vsftpd/vsftpd.conf。[root@server~]#vim/etc/vsftpd/vsftpd.conf(2)在其中添加如下兩行。listen_address=0listen_port=212113.3.4配置vsftpd常規(guī)服務(wù)器【例13-1】設(shè)置客戶端訪問通過2121端口,而不是默認(rèn)的21端口來進(jìn)行。③關(guān)閉防火墻和SELinux,然后重啟vsftpd服務(wù)后,在client客戶端測試結(jié)果如下。(測試結(jié)束,將上面兩行語句刪除,以免影響后面實(shí)訓(xùn)。)[root@RHEL6~]#ftp02121Connectedto0(0).220(vsftpd2.2.2)Name(0:root):anonymous //也可以輸入"ftp"331Pleasespecifythepassword.Password: //匿名訪問,密碼為空230Loginsuccessful.RemotesystemtypeisUNIX.Usingbinarymodetotransferfiles.ftp>exit //退出FTP交互方式。13.3.4配置vsftpd常規(guī)服務(wù)器2.配置FTP模式與數(shù)據(jù)端口vsftpd的主配置文件中還可以決定FTP采用的模式和數(shù)據(jù)傳輸端口。(1)connect_from_port_20。設(shè)置以port模式進(jìn)行數(shù)據(jù)傳輸時使用20端口?!癥ES”:表示使用?!癗O”:表示不使用。(2)pasv_address。定義vsftpd服務(wù)器使用PASV模式時使用的IP地址。默認(rèn)值未設(shè)置。(3)pasv_enable。默認(rèn)值為“YES”,也就是允許使用PASV模式。13.3.4配置vsftpd常規(guī)服務(wù)器2.配置FTP模式與數(shù)據(jù)端口(4)pasv_min_port。

pasv_max_port指定PASV模式可以使用的最?。ù螅┒丝?,默認(rèn)值為0,就是未限制,請將它設(shè)置為不小于1

024的數(shù)值(最大端口不能大于65535)。(5)pasv_promiscuous。設(shè)置為“YES”時,可以允許使用FxP功能。就是支持你的臺式機(jī)作為客戶控制端,讓數(shù)據(jù)在兩臺服務(wù)器之間傳輸。(6)port_enable。允許使用主動傳輸模式,默認(rèn)值為“YES”。13.3.4配置vsftpd常規(guī)服務(wù)器3.配置ASCII模式(1)ascii_download_enable。設(shè)置是否可用ASCII模式下載。默認(rèn)值為“NO”。(2)ascii_upload_enable。設(shè)置是否可用ASCII模式上傳。默認(rèn)值為“NO”。13.3.4配置vsftpd常規(guī)服務(wù)器4.配置超時選項(xiàng)vsftpd中還有超時定義選項(xiàng),以防客戶端無限制地連接在FTP服務(wù)器上,占據(jù)寶貴的系統(tǒng)資源。(1)data_connection_timeout。定義數(shù)據(jù)傳輸過程中被阻塞的最長時間(以秒為單位),一旦超出這個時問,客戶端的連接將被關(guān)閉。默認(rèn)值是“300”。(2)idle_session_timeout。定義客戶端閑置的最長時間(以秒為單位,默認(rèn)值是300)。超過300秒后,客戶端的連接將被強(qiáng)制關(guān)閉。(3)connect_timeout。設(shè)置客戶端嘗試連接vsftpd命令通道的超時時間。13.3.4配置vsftpd常規(guī)服務(wù)器4.配置超時選項(xiàng)【例13-2】設(shè)置客戶端連接超時時間為60秒。connect_timeout=6013.3.4配置vsftpd常規(guī)服務(wù)器5.配置負(fù)載控制當(dāng)然,所有的服務(wù)器管理員都不希望FTP客戶端占用過多的帶寬,而影響了服務(wù)器的正常運(yùn)行,通過以下參數(shù)就可以設(shè)置。(1)anon_max_rate=5000。匿名用戶的最大傳輸速率,單位是B/s。(2)local_max_rate=20000。本地用戶的最大傳輸速率,單位是B/s。【例13-3】限制所有用戶的下載速度為60KB/s。anon_max_rate=60000local_max_rate=6000013.3.4配置vsftpd常規(guī)服務(wù)器6.配置匿名用戶以下選項(xiàng)控制anonymous(匿名用戶)訪問vsftpd服務(wù)器。(1)anonymous_enable。當(dāng)設(shè)置為“anonymous_enable=YES”時,表示啟用匿名用戶。當(dāng)然,以下所有的控制匿名用戶的選項(xiàng),也只有在這項(xiàng)設(shè)置為“YES”時才生效?!纠?3-4】拒絕匿名用戶登錄FTP服務(wù)器。anonymous_enable=NO(2)anon_mkdir_write_enable。本選項(xiàng)設(shè)置為“YES”時,匿名用戶可以在一個具備寫權(quán)限的目錄中創(chuàng)建新目錄。默認(rèn)值為“NO”。13.3.4配置vsftpd常規(guī)服務(wù)器(3)anon_root。當(dāng)匿名用戶登錄vsftpd后,將它的目錄切換到指定目錄。默認(rèn)值為未設(shè)置。【例13-5】設(shè)置匿名用戶的根目錄為/var/ftp/temp。anon_root=/var/ftp/temp(4)anon_upoad_enable。當(dāng)本選項(xiàng)設(shè)置為“YES”時,匿名用戶可以向具備寫權(quán)限的目錄中上傳文件。默認(rèn)值為“NO”。(5)anon_world_readable_only。默認(rèn)值為“YES”,這代表著匿名用戶只具備下載權(quán)限。(6)ftp_username。指定匿名用戶與本地的哪個賬號相對應(yīng),該用戶的/home目錄即為匿名用戶訪問FTP服務(wù)器時的根目錄。默認(rèn)值是“ftp”。13.3.4配置vsftpd常規(guī)服務(wù)器(7)no_anon_password。設(shè)置為“YES”時,匿名用戶不用輸入密碼。默認(rèn)值為“NO”。(8)secure_email_1ist_enable。當(dāng)設(shè)置為“YES”時(默認(rèn)值為“NO”),匿名用戶只有采用特定的E-mail作為密碼才能訪問vsftpd服務(wù)?!纠?3-6】搭建一臺FTP服務(wù)器,允許匿名用戶上傳和下載文件,匿名用戶的根目錄設(shè)置為/var/ftp。①用文本編輯器打開,/etc/vsftpd/vsftpd.conf。[root@server~]#vim/etc/vsftpd/vsftpd.conf13.3.4配置vsftpd常規(guī)服務(wù)器②在其中添加如下4行:anonymous_enable=YES #允許匿名用戶登錄anon_root=/var/ftp #設(shè)置匿名用戶的根目錄為/var/ftpanon_upload_enable=YES #允許匿名用戶上傳文件anon_mkdir_write_enable=YES #允許匿名用戶創(chuàng)建文件夾13.3.4配置vsftpd常規(guī)服務(wù)器③在Windows7客戶端的資源管理器中輸入0,打開pub目錄,新建一個文件夾,結(jié)果出錯了。13.3.4配置vsftpd常規(guī)服務(wù)器④設(shè)置本地系統(tǒng)權(quán)限,一是將屬主設(shè)為ftp,二是對pub目錄賦予其他用戶寫的權(quán)限。[root@RHEL6桌面]#ll-ld/var/ftp/pubdrwxr-xr-x.2rootroot40961月312:36/var/ftp/pub//其他用戶沒有寫入權(quán)限[root@RHEL6桌面]#chownftp/var/ftp/pub //將屬主改為匿名用戶ftp[root@RHEL6桌面]#ll-ld/var/ftp/pubdrwxr-xr-x.2ftproot40961月312:36/var/ftp/pub //已將屬主改為匿名用戶ftp[root@RHEL6桌面]#servicevsftpdrestart⑤再次使用Windows7客戶端測試,在pub目錄下能夠建立新文件夾。13.3.4配置vsftpd常規(guī)服務(wù)器13.3.4配置vsftpd常規(guī)服務(wù)器7.配置本地用戶及目錄vsftpd允許用戶以本地用戶或者匿名用戶登錄(其中本地用戶就是服務(wù)器上有實(shí)際賬號的那些用戶),并且提供了豐富的控制選項(xiàng)。(1)local_enable。是否允許本地用戶登錄,默認(rèn)值為“YES”,也就是允許本地用戶訪問vsftpd服務(wù)器。以下選項(xiàng)只有在“l(fā)ocalenable=YES”的前提下才有效。

13.3.4配置vsftpd常規(guī)服務(wù)器7.配置本地用戶及目錄【例13-7】允許本地用戶登錄FTP服務(wù)器。local_enable=YES(2)local_root。指定本地用戶登錄vsftpd服務(wù)器時切換到的目錄。沒有設(shè)置默認(rèn)值。13.3.4配置vsftpd常規(guī)服務(wù)器(3)local_umask。設(shè)置文件創(chuàng)建的掩碼(操作方法與Linux下文件屬性設(shè)置相同),默認(rèn)值是“022”,也就是其他用戶具有只讀屬性。13.3.4配置vsftpd常規(guī)服務(wù)器【例13-8】搭建一臺只允許本地賬戶登錄的FTP服務(wù)器0。①用文本編輯器打開/etc/vsftpd/vsftpd.conf主配置文件?!緍oot@server~】#vim/etc/vsftpd/vsftpd.conf②在其中添加如下3行:anonymous_enable=NO #不允許匿名用戶登錄local_enable=YES #允許本地用戶登錄FTP服務(wù)器local_root=/home #指定本地用戶登錄FTP服務(wù)器時切換到的目錄13.3.4配置vsftpd常規(guī)服務(wù)器【例13-8】搭建一臺只允許本地賬戶登錄的FTP服務(wù)器。③建立不能在本地登錄的用戶user1和user2,并設(shè)置用戶密碼。[root@RHEL6桌面]#useradd-s/sbin/nologinuser1[root@RHEL6桌面]#useradd-s/sbin/nologinuser2[root@RHEL6桌面]#passwduser1[root@RHEL6桌面]#passswduser213.3.4配置vsftpd常規(guī)服務(wù)器【例13-8】搭建一臺只允許本地賬戶登錄的FTP服務(wù)器。④測試。[root@client桌面]#ftp0Connectedto0(0).220(vsftpd2.2.2)Name(0:root):ftp //輸入匿名用戶ftp登錄331Pleasespecifythepassword.Password:clos530Loginincorrect.Loginfailed. //登錄失敗ftp>close //關(guān)閉該連接221Goodbye.ftp>open0 //重新打開ftp服務(wù)器0Connectedto0(0).220(vsftpd2.2.2)Name(0:root):user1 //輸入本地用戶user1331Pleasespecifythepassword.Password: //輸入user1的用戶密碼230Loginsuccessful.RemotesystemtypeisUNIX.Usingbinarymodetotransferfiles.ftp>ls //登錄成功,可以列出設(shè)置的根目錄下的文件夾227EnteringPassiveMode(192,168,1,30,248,129).150Herecomesthedirectorylisting.drwx------20016384Dec0318:12lost+founddrwx------45015014096Dec1307:50user1drwx------45025024096Dec1307:51user2drwx------265005004096Dec0320:10yyadmin226DirectorysendOK.ftp>13.3.4配置vsftpd常規(guī)服務(wù)器(4)chmod_enable。當(dāng)設(shè)置為“YES”時,以本地用戶登錄的客戶端可以通過“SITECHMOD”命令來修改文件的權(quán)限。(5)chroot_local_user。設(shè)置為“YES”時,本地用戶只能訪問到它的/home目錄,不能切換到/home目錄之外。(6)chroot_list_enable。13.3.4配置vsftpd常規(guī)服務(wù)器當(dāng)設(shè)置為“YES”時,表示本地用戶也有些例外,可以切換到它的/home目錄之外,例外的用戶在“chroot_list_file”指定的文件中(默認(rèn)文件是“/etc/vsftpd/chroot_list”)。限制用戶目錄的意思就是把使用者的活動范圍限制在某一個目錄里,他可以在這個目錄范圍內(nèi)自由活動,但是不可以進(jìn)入這個目錄以外的任何目錄。如果我們不限制FTP服務(wù)器使用者的活動范圍的話,那么所有的使用者就可以隨意地瀏覽整個文件系統(tǒng),稍有設(shè)置不當(dāng)就會給一些心懷不軌的用戶制造機(jī)會,所以vsftp提供防止出現(xiàn)這類問題的功能,它就是限制用戶目錄。

13.3.4配置vsftpd常規(guī)服務(wù)器【例13-9】限制用戶目錄只能在本人/home目錄內(nèi)。①建立用戶user1和user2。[root@RHEL6~]#useradd-s/sbin/nologinuser1[root@RHEL6~]#useradd-s/sbin/nologinuser213.3.4配置vsftpd常規(guī)服務(wù)器②修改主配置文件/etc/vsftpd/vsftpd.conf。把chroot_list_enable和chroot_list_file前面的注釋符號去掉即可。chroot_list_enable=YES#(defaultfollows)chroot_list_file=/etc/vsftpd/chroot_list③編輯chroot_list文件。編輯/etc/vsftpd/chroot_list,并添加需要鎖定用戶目錄的賬號(注意每個用戶占一行)。[root@RHEL6~]#vim/etc/vsftpd/chroot_listuser1user213.3.4配置vsftpd常規(guī)服務(wù)器④重啟服務(wù)及測試。當(dāng)使用user1賬號登錄的時候,發(fā)現(xiàn)可以成功登錄,但是當(dāng)使用pwd命令查看當(dāng)前路徑時,發(fā)現(xiàn)目前所處的位置是在“/”下,而使用ls命令后發(fā)現(xiàn),實(shí)際現(xiàn)在所處的位置是在/home目錄下。這樣一來,user1這個用戶就被完全鎖定在/home目錄中了,即使user1賬號被黑客或圖謀不軌者盜取,也無法對服務(wù)器做出過大的危害,從而大大提高系統(tǒng)安全性。13.3.4配置vsftpd常規(guī)服務(wù)器8.配置虛擬用戶基于安全方面的考慮,vsftpd除了支持本地用戶和匿名用戶之外,還支持虛擬用戶,就是將所有非Anonymous(匿名用戶)都映射為一個虛擬用戶,從而統(tǒng)一限制其他用戶的訪問權(quán)限。(1)guest_enable。當(dāng)設(shè)置為“YES”時(默認(rèn)值為“NO”),所有非匿名用戶都被映射為一個特定的本地用戶。該用戶通過“guest_username”命令指定。(2)guest_username。設(shè)置虛擬用戶映射到的本地用戶,默認(rèn)值為“ftp”。13.3.4配置vsftpd常規(guī)服務(wù)器9.配置用戶登錄控制vsftpd還提供了豐富的登錄控制選項(xiàng),包括登錄后客戶端可以顯示的信息,允許執(zhí)行的命令等,以及登錄中的一些控制選項(xiàng)。(1)banner_file。設(shè)置客戶端登錄之后,服務(wù)器顯示在客戶端的信息,該信息保存在“banner_file”指定的文本文件中。(2)cmds_allowed。設(shè)置客戶端登錄vsftpd服務(wù)器后,客戶端可以執(zhí)行的命令集合。需要注意的是,如果設(shè)置了該命令,則其他沒有列在其中的命令都拒絕執(zhí)行。沒有設(shè)置默認(rèn)值。(3)ftpd-banner。設(shè)置客戶端登錄vsftpd服務(wù)器后,客戶端顯示的歡迎信息或者其他相關(guān)信息。需要注意的是,如果設(shè)置了“banner_file”,則本命令會被忽略。沒有設(shè)置默認(rèn)值。13.3.4配置vsftpd常規(guī)服務(wù)器(4)userlist_enable。

userlist_deny設(shè)置使用/etc/vsftpd/user_list文件來控制用戶的訪問權(quán)限,當(dāng)userlist_deny設(shè)置為“YES”時,user_list中的用戶都不能登錄vsftpd服務(wù)器;設(shè)置為“NO”時,只有該文件中的用戶才能訪問vsftpd服務(wù)器。當(dāng)然,這些都是在“userlist_enable”被設(shè)置為“YES”時才生效。13.3.4配置vsftpd常規(guī)服務(wù)器【例13-10】設(shè)置一個禁止登錄的用戶列表文件/etc/vsftpd/user_list,并讓該文件可以正常工作。[root@RHEL6~]#vim/etc/vsftpd/vsftpd.confuserlist_enable=YESuserlist_file=/etc/vsftpd/user_list13.3.4配置vsftpd常規(guī)服務(wù)器10.配置目錄訪問控制vsftpd還針對目錄的訪問設(shè)置了豐富的控制選項(xiàng)。(1)dirlist_enable。設(shè)置是否允許用戶列目錄。默認(rèn)值為“YES”,即允許列目錄。(2)dirmessage_enable。設(shè)置當(dāng)用戶切換到一個目錄時,是否顯示目錄切換信息。如果設(shè)置為“YES”,則顯示“message_file”指定文件中的信息(默認(rèn)是顯示.message文件信息)。在項(xiàng)目實(shí)錄中的子項(xiàng)目3對此有詳細(xì)講解。(3)message_file。用于指定目錄切換時顯示的信息所在的文件,默認(rèn)值為“.message”。13.3.4配置vsftpd常規(guī)服務(wù)器【例13-11】設(shè)置用戶進(jìn)入/home/user1/目錄后,提示“Welcometouser1'sspace!”。

①用vim編輯/etc/vsftpd/vsftpd.conf主配置文件。[root@RHEL6~]#vim/etc/vsftpd/vsftpd.confdirmessage_enable=YESmessage_file=.message #指定信息文件為.message②創(chuàng)建提示性文件。[root@RHEL6~]#cd/home/user1root@RHEL6user1]#vim.messageWelcometouser1'sspace!13.3.4配置vsftpd常規(guī)服務(wù)器【例13-11】設(shè)置用戶進(jìn)入/home/user1/目錄后,提示“Welcometouser1'sspace!”。③測試。測試結(jié)果表明,使用user1登錄成功,當(dāng)進(jìn)入user1目錄時,顯示提示信息“Welcometouser1'sspace!”。時刻注意防火墻和SELinux、本地權(quán)限等對FTP服務(wù)器配置的影響,其他服務(wù)器也要注意!13.3.4配置vsftpd常規(guī)服務(wù)器(4)force_dot_file。設(shè)置是否顯示以“.”開頭的文件,默認(rèn)值是不顯示。(5)hide_ids。隱藏文件的所有者和組信息,匿名用戶看到的文件所有者和組全部變成ftp。11.配置文件操作控制vsftpd還提供了幾個選項(xiàng)用于控制文件的上傳和下載。(1)download_enable。設(shè)置是否允許下載。默認(rèn)值是“YES”,即允許下載。(2)chown_uploads。當(dāng)設(shè)置為“YES”時,所有匿名用戶上傳的文件,其擁有者都會被設(shè)置為“chown_username”命令指定的用戶。默認(rèn)值是“NO”。(3)chown_username。設(shè)置匿名用戶上傳的文件的擁有者。默認(rèn)值是“root”。(4)write_enable。當(dāng)設(shè)置為“YES”時,F(xiàn)TP客戶端登錄后允許使用DELE(刪除文件)、RNFR(重命名)和STOR(斷點(diǎn)續(xù)傳)命令。13.3.4配置vsftpd常規(guī)服務(wù)器13.3.4配置vsftpd常規(guī)服務(wù)器12.配置新增文件權(quán)限設(shè)置vsftpd服務(wù)器可以讓我們設(shè)置上傳過來的文件權(quán)限,以進(jìn)行安全方面的設(shè)置。(1)anon_umask。匿名用戶新增文件的umask數(shù)值。默認(rèn)值為077。(2)file_open_mode。上傳文件的權(quán)限,與chmod所使用的數(shù)值相同。如果希望上傳的文件可以執(zhí)行,則設(shè)置此值為0777。默認(rèn)值為0666。(3)local_umask。本地用戶新增文件時的umask數(shù)值(默認(rèn)值為077)。不過,其他大多數(shù)的FTP服務(wù)器使用的都是022。如果用戶希望的話,則可以修改為022。13.3.4配置vsftpd常規(guī)服務(wù)器13.日志設(shè)置vsftpd還可以讓我們記錄服務(wù)器的工作狀態(tài),以及客戶端的上傳、下載操作。(1)dual_log_enable。如果啟用,將生成兩個相似的日志文件,分別為/var/log/xferlog和/var/logrolate.d/vsftpd.log。前者是Wu-ftpd類型的傳輸日志,可以用于標(biāo)準(zhǔn)工具分析;后者是vsftpd自己類型的日志。默認(rèn)值為“NO”。(2)log_ftp_protocol。是否記錄所有的FTP命令信息。默認(rèn)值為“NO”。(3)syslog_enable。設(shè)置為“YES”時會將本來應(yīng)記錄在/var/logrolate.d/vsftpd.log中的信息,轉(zhuǎn)而傳給syslogddaemon,由syslogd的配置文件決定存于什么位置。默認(rèn)值為“NO”。13.3.4配置vsftpd常規(guī)服務(wù)器13.日志設(shè)置(4)xferlog_enable。如果啟用,將會維護(hù)一日志文件,用于詳細(xì)記錄上傳和下載操作。在默認(rèn)情況下,這個日志文件是/var/logrolate.d/vsftpd.log,但是也可以通過配置文件中的vsftpd_log_file選項(xiàng)來指定。默認(rèn)值為“NO”。(5)xferlog_std_format。如果啟用,傳輸日志文件將以標(biāo)準(zhǔn)xferlog的格式書寫,如同Wu-ftpd一樣。此格式的日志文件默認(rèn)/var/log/xferlog,但是也可以通過xferlog_file選項(xiàng)來設(shè)定。13.3.4配置vsftpd常規(guī)服務(wù)器14.配置限制服務(wù)器連接數(shù)限制在同一時刻內(nèi)允許連接服務(wù)器的數(shù)量是一種非常有效的保護(hù)服務(wù)器并減少負(fù)載的方式之一。主配置文件中常用的字段有以下兩種。(1)max_clients。設(shè)置FTP同一時刻的最大連接數(shù)。默認(rèn)值為0,表示不限制最大連接數(shù)。(2)max_per_ip。設(shè)置每個IP的最大連接數(shù)。默認(rèn)值為0,表示不限制最大連接數(shù)。13.3.4配置vsftpd常規(guī)服務(wù)器15.常規(guī)FTP服務(wù)器配置案例Ⅰ某學(xué)院信息工程系準(zhǔn)備搭建一臺功能簡單的FTP服務(wù)器,允許信息工程系員工上傳和下載文件,并允許創(chuàng)建用戶自己的目錄。本案例是一個較為簡單的基本案例,允許所有員工上傳和下載文件需要設(shè)置成為允許匿名用戶登錄,而且,還需要把允許匿名用戶上傳功能打開。anon_mkdir_write_enable字段可以控制是否允許匿名用戶創(chuàng)建目錄。13.3.4配置vsftpd常規(guī)服務(wù)器解決方案如下。(1)用文本編輯器編輯/etc/vsftpd/vsftpd.conf,并允許匿名用戶訪問。[root@server~]#vim/etc/vsftpd/vsftpd.confanonymous_enable=YES #允許匿名用戶登錄(2)允許匿名用戶上傳文件,并可以創(chuàng)建目錄。anon_upload_enable=YES #允許匿名用戶上傳文件anon_mkdir_write_enable #允許匿名用戶創(chuàng)建目錄提示:把a(bǔ)non_upload_enable和anon_mkdir_write_enable前面的注釋符號去掉即可。13.3.4配置vsftpd常規(guī)服務(wù)器(3)重啟vsftpd服務(wù)。[root@server~]#servicevsftpdrestart(4)修改/var/ftp權(quán)限。為了保證匿名用戶能夠上傳和下載文件,使用chmod命令開放所有的系統(tǒng)權(quán)限。[root@server~]#chmod777-R/var/ftp提示:其中777表示給所有用戶讀、寫和執(zhí)行權(quán)限,-R為遞歸修改/var/ftp下所有目錄的權(quán)限。(5)測試。公司內(nèi)部現(xiàn)在有一臺FTP和Web服務(wù)器,F(xiàn)TP的功能主要用于維護(hù)公司的網(wǎng)站內(nèi)容,包括上傳文件、創(chuàng)建目錄、更新網(wǎng)頁等等。公司現(xiàn)有兩個部門負(fù)責(zé)維護(hù)任務(wù),他們分別適用team1和team2賬號進(jìn)行管理。先要求僅允許team1和team2賬號登錄FTP服務(wù)器,但不能登錄本地系統(tǒng),并將這兩個賬號的根目錄限制為/var/www/html,不能進(jìn)入該目錄以外的任何目錄。2.需求分析將FTP服務(wù)器和Web服務(wù)器做在一起是企業(yè)經(jīng)常采用的方法,這樣方便實(shí)現(xiàn)對網(wǎng)站的維護(hù)。為了增強(qiáng)安全性,首先需要使用僅允許本地用戶訪問,并禁止匿名用戶登錄。其次,使用chroot功能將team1和team2鎖定在/var/www/html目錄下。如果需要刪除文件,則還需要注意本地權(quán)限。13.3.4配置vsftpd常規(guī)服務(wù)器13.3.4配置vsftpd常規(guī)服務(wù)器解決方案如下。(1)建立維護(hù)網(wǎng)站內(nèi)容的FTP賬號team1和team2并禁止本地登錄,然后為其設(shè)置密碼。[root@RHEL6桌面]#useradd-s/sbin/nologinteam1[root@RHEL6桌面]#useradd-s/sbin/nologinteam2[root@RHEL6桌面]#passwdteam1[root@RHEL6桌面]#passwdteam2(2)配置vsftpd.conf主配置文件并做相應(yīng)修改。13.3.4配置vsftpd常規(guī)服務(wù)器[root@RHEL6桌面]#vim/etc/vsftpd/vsftpd.confanonymous_enable=NO #禁止匿名用戶登錄local_enable=YES #允許本地用戶登錄local_root=/var/www/html #設(shè)置本地用戶的根目錄為/var/www/htmlchroot_list_enable=YES #激活chroot功能chroot_list_file=/etc/vsftpd/chroot_list #設(shè)置鎖定用戶在根目錄中的列表文件保存主配置文件并退出。(3)建立/etc/vsftpd/chroot_list文件,添加team1和team2賬號。[root@RHEL6桌面]#vim/etc/vsftpd/chroot_listteam1team213.3.4配置vsftpd常規(guī)服務(wù)器(4)關(guān)閉防火墻和SELinux。①利用setup命令打開防火墻對話框,將“啟用”前面的“*”按空格去掉,保存退出即可。②編輯/etc/sysconfig/selinux文件,將“SELINUX=enforcing”改為“SELINUX=disabled”,存盤退出,重啟系統(tǒng)即可。13.3.4配置vsftpd常規(guī)服務(wù)器(5)重啟vsftpd服務(wù)使配置生效。[root@RHEL6桌面]#servicevsftpdrestart13.3.4配置vsftpd常規(guī)服務(wù)器(6)修改本地權(quán)限。[root@RHEL6桌面]#ll-d/var/www/html[root@RHEL6桌面]#chmod-Ro+w/var/www/html //其他用戶可以寫入![root@RHEL6桌面]#ll-d/var/www/html13.3.4配置vsftpd常規(guī)服務(wù)器(7)在Linux客戶端client上的測試結(jié)果如圖所示。13.3.5設(shè)置vsftp虛擬賬號1.創(chuàng)建用戶數(shù)據(jù)庫(1)創(chuàng)建用戶文本文件。首先,建立保存虛擬賬號和密碼的文本文件,格式如下。虛擬賬號1密碼虛擬賬號2密碼13.3.5設(shè)置vsftp虛擬賬號使用vi編輯器建立用戶文件vuser.txt,添加虛擬賬號user10和user20。如下所示。[root@server~]#mkdir/vftp[root@server~]#vim/vftp/vuser.txtuser10123456user2012345613.3.5設(shè)置vsftp虛擬賬號13.3.5設(shè)置vsftp虛擬賬號(3)修改數(shù)據(jù)庫文件訪問權(quán)限。數(shù)據(jù)庫文件中保存著虛擬賬號和密碼信息,為了防止非法用戶盜取,可以修改該文件的訪問權(quán)限。[root@server~]#chmod700/vftp/vuser.db[root@server~]#ll/vftp13.3.5設(shè)置vsftp虛擬賬號2.配置PAM文件為了使服務(wù)器能夠使用數(shù)據(jù)庫文件,對客戶端進(jìn)行身份驗(yàn)證,需要調(diào)用系統(tǒng)的PAM模塊。PAM(PlugableAuthenticationModule)為可插拔認(rèn)證模塊,不必重新安裝應(yīng)用程序,通過修改指定的配置文件,調(diào)整對該程序的認(rèn)證方式。PAM模塊配置文件路徑為/etc/pam.d,該目錄下保存著大量與認(rèn)證有關(guān)的配置文件,并以服務(wù)名稱命名。下面修改vsftp對應(yīng)的PAM配置文件/etc/pam.d/vsftpd,將默認(rèn)配置使用“#”全部注釋,添加相應(yīng)字段,如下所示。[root@RHEL6桌面]#vim/etc/pam.d/vsftpd#PAM-1.0#session optional pam_keyinit.so force revoke#auth required pam_listfile.so item=user sense=deny#file=/etc/vsftpd/ftpusers onerr=succeed#auth required pam_shells.soauth required /lib64/security/pam_userdb.so db=/vftp/vusersession required /lib64/security/pam_userdb.so db=/vftp/vuser13.3.5設(shè)置vsftp虛擬賬號13.3.5設(shè)置vsftp虛擬賬號4.修改vsftpd.confanonymous_enable=NO ①anon_upload_enable=NOanon_mkdir_write_enable=NOanon_other_write_enable=NOlocal_enable=YES ②chroot_local_user=YES ③write_enable=NO ④guest_enable=YES ⑤guest_username=vuser ⑥listen=YES ⑦pam_service_name=vsftpd ⑧以上代碼中其后帶序號的各行功能說明如下。①為了保證服務(wù)器的安全,關(guān)閉匿名訪問,以及其他匿名相關(guān)設(shè)置。②虛擬賬號會映射為服務(wù)器的系統(tǒng)賬號,所以需要開啟本地賬號的支持。③鎖定賬戶的根目錄。④關(guān)閉用戶的寫權(quán)限。⑤開啟虛擬賬號訪問功能。⑥設(shè)置虛擬賬號對應(yīng)的系統(tǒng)賬號為vuser。⑦設(shè)置FTP服務(wù)器為獨(dú)立運(yùn)行。⑧配置vsftp使用的PAM模塊為vsftpd。13.3.5設(shè)置vsftp虛擬賬號5.重啟vsftpd服務(wù)6.測試使用虛擬賬號user1登錄FTP服務(wù)器,進(jìn)行測試,會發(fā)現(xiàn)虛擬賬號登錄成功,并顯示FTP服務(wù)器目錄信息。13.4配置基于虛擬用戶的FTP服務(wù)器案例13.4.1企業(yè)環(huán)境公司為了宣傳最新的產(chǎn)品信息,計劃搭建FTP服務(wù)器,為客戶提供相關(guān)文檔的下載。對所有互聯(lián)網(wǎng)用戶開放共享目錄,允許下載產(chǎn)品信息,禁止上傳。公司的合作單位能夠使用FTP服務(wù)器進(jìn)行上傳和下載,但不可刪除數(shù)據(jù)。并且為保證服務(wù)器的穩(wěn)定性,需要進(jìn)行適當(dāng)優(yōu)化設(shè)置。13.4.2需求分析根據(jù)企業(yè)的需求,對于不同用戶進(jìn)行不同的權(quán)限限制,F(xiàn)TP服務(wù)器需要實(shí)現(xiàn)用戶的審核。而考慮服務(wù)器的安全性,所以關(guān)閉實(shí)體用戶登錄,使用虛擬賬戶驗(yàn)證機(jī)制,并對不同虛擬賬號設(shè)置不同的權(quán)限。為了保證服務(wù)器的性能,還需要根據(jù)用戶的等級限制客戶端的連接數(shù)以及下載速度。13.4.3解決方案13.4.3解決方案13.4.3解決方案2.配置PAM文件修改vsftp對應(yīng)的PAM配置文件/etc/pam.d/vsftpd,如下所示。#%PAM—1.0#sessionoptional pam_keyinit.so force revoke#authrequired pam_listfile.so item=user sense=deny#file=/etc/vsftpd/ftptestusers onerr=succeed#auth required pam_shells.so#auth include system-auth#

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論