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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第13章FTP服務器配置

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

項目目標:●掌握FTP服務的工作原理●學會配置vsftpd服務器

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

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

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

13.1.5FTP命令

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

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

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

項目實施13.3.1安裝、啟動與停止vsftpd服務1.安裝vsftpd服務[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

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

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

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

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

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

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

評論

0/150

提交評論