




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、網絡服務器搭建第2版(項目7 FTP) 楊云項目7 配置與管理FTP服務器 項目描述:某學院組建了校園網,建設了學院網站,架設了Web服務器來為學院網站安家,但在網站上傳和更新時,需要用到文件上傳和下載,功能因此還要架設FTP服務器,為學院內部和互聯網用戶提供FTP等服務。本單元先實踐配置與管理Apache服務器。 項目目標 :掌握FTP服務的工作原理 學會配置vsftpd服務器 掌握配置基于虛擬用戶的FTP服務器 實踐典型的FTP服務器配置案例7.1 相關知識 7.3 項目實施 7.6 項目實錄7.7 練習題 7.8 實踐習題7.9 超級鏈接 項目7 配置與管理FTP服務器7.2 項目設計與
2、準備 7.4 企業實戰與應用 7.5 FTP排錯 7.1 相關知識 FTP服務就是文件傳輸服務,FTP的全稱是File Transfer Protocol,顧名思義,就是文件傳輸協議,具備更強的文件傳輸可靠性和更高的效率。 7.1.1 FTP工作原理7.1.2 匿名用戶 FTP服務不同于WWW,它首先要求登錄到服務器上,然后再進行文件的傳輸,這對于很多公開提供軟件下載的服務器來說十分不便,于是匿名用戶訪問就誕生了。通過使用一個共同的用戶名anonymous,密碼不限的管理策略(一般使用用戶的郵箱作為密碼即可),讓任何用戶都可以很方便地從這些服務器上下載軟件。7.1.3 FTP服務的傳輸模式 F
3、TP服務有兩種工作模式:主動傳輸模式(Active FTP)和被動傳輸模式(Passive FTP)。1主動傳輸模式7.1.3 FTP服務的傳輸模式 2被動傳輸模式7.1.4 流行的FTP服務器軟件簡介 1Vsftpd 2PureFTPD3Wu-ftpd4Proftpd 7.1.5 FTP命令 Linux系統中FTP命令的登錄界面 7.1.5 FTP命令 Windows系統中FTP命令的登錄界面 7.2 項目設計與準備 7.2.1 項目設計 在VMWare虛擬機中啟動3臺虛擬機,其中一臺Linux服務器作為vsftpd服務器(),在該系統中添加用戶user1和user2;一臺Linux客戶端c
4、lient(11)對vsftpd服務器進行測試,一臺Windows 7客戶端(00,也可以用Windows 7物理機來代替,但那樣的網絡連接方式都應是橋接。一定注意網絡連接方式。)。7.2.2 項目準備需要如下設備。 1PC計算機2臺,其中一臺安裝企業版Linux網絡操作系統,另一臺作為測試客戶端。 2推薦使用虛擬機進行網絡環境搭建。7.3 項目設計任務7-1 安裝、啟動與停止vsftpd服務1安裝vsftpd服務rootRHEL6 桌面# rpm -q vsftpdrootRHEL6 桌面# mkdir /isorootRHEL6 桌面# mount /dev/cdrom /isomount
5、: block device /dev/sr0 is write-protected, mounting read-onlyrootRHEL6桌面# yum clean all /安裝前先清除緩存rootRHEL6 桌面# yum install vsftpd yrootRHEL6 桌面# yum install ftp y/同時安裝ftp軟件包rootRHEL6 桌面# rpm qa|grep vsftpd/檢查安裝組件是否成功7.3 項目實施任務7-1 安裝、啟動與停止vsftpd服務可以使用下面的命令檢查系統是否已經安裝了vsftpd服務:rootRHEL6 桌面# rpm -qa |g
6、rep ftpgvfs-obexftp-1.4.3-15.el6.x86_64vsftpd-2.2.2-11.el6.x86_64ftp-0.17-53.el6.x86_64任務7-1 安裝、啟動與停止vsftpd服務2vsftpd服務啟動、重啟、隨系統啟動、停止rootRHEL6 桌面# service vsftpd startrootRHEL6 桌面# service vsftpd restartrootRHEL6 桌面# chkconfig vsftpd on/每次開機后自動啟動rootRHEL6 桌面# service vsftpd stop任務7-1 安裝、啟動與停止vsftpd服務
7、3在客戶端client測試vsftpd服務 在虛擬機client上進行測試,安裝ftp軟件包,測試時出現錯誤:rootclient 桌面# mount /dev/cdrom /isomount: block device /dev/sr0 is write-protected, mounting read-onlyrootclient 桌面# yum install vsftpd yrootclient 桌面# yum install ftp y/同時安裝ftp軟件包rootclient 桌面# ftp ftp: connect: 沒有到主機的路由/出現錯誤ftp exit任務7-1 安裝、啟
8、動與停止vsftpd服務3在客戶端client測試vsftpd服務 在虛擬機client上進行測試,安裝ftp軟件包,測試時出現錯誤: 分析:只能是防火墻和SELinux。一是讓防火墻放行FTP服務,關閉SELinux;二是關閉防火墻和SELinux。任務7-1 安裝、啟動與停止vsftpd服務3在客戶端client測試vsftpd服務 關閉防火墻和SELinux后的測試結果如圖7-6所示。默認FTP目錄下有個文件夾pub。任務7-2 認識VSftpd的配置文件vftpd的配置主要通過以下幾個文件來完成。 1/etc/pam.d/vsftpd 2/etc/vsftpd/vsftpd.conf3
9、/etc/vsftpd/ftpusers4/etc/vsftpd/user_list 5/var/ftp任務7-3 配置vsftpd常規服務器1配置監聽地址與控制端口有時候,也許你不想采用FTP的默認21端口來提供服務。 【例7-1】 設置客戶端訪問通過2121端口,而不是默認的21端口來進行。 (1)用文本編輯器打開/etc/vsftpd/vsftpd.conf。rootserver # vim /etc/vsftpd/vsftpd.conf(2)在其中添加如下兩行。listen_address=listen_port=2121任務7-3 配置vsftpd常規服務器2配置FTP模式與數據端口
10、vsftpd的主配置文件中還可以決定FTP采用的模式和數據傳輸端口。(1)connect_from_port_20。(2)pasv_address。(3)pasv_enable。(4)pasv_min_port。 pasv_max_port(5)pasv_promiscuous。(6)port_enable。任務7-3 配置vsftpd常規服務器3配置ASCII模式(1)ascii_download_enable。設置是否可用ASCII模式下載。默認值為“NO”。(2)ascii_upload_enable。設置是否可用ASCII模式上傳。默認值為“NO”。任務7-3 配置vsftpd常規服務
11、器4配置超時選項 vsftpd中還有超時定義選項,以防客戶端無限制地連接在FTP服務器上,占據寶貴的系統資源。(1)data_connection_timeout。定義數據傳輸過程中被阻塞的最長時間(以秒為單位),一旦超出這個時問,客戶端的連接將被關閉。默認值是“300”。(2)idle_session_timeout。定義客戶端閑置的最長時間(以秒為單位,默認值是300)。超過300秒后,客戶端的連接將被強制關閉。(3)connect_timeout。設置客戶端嘗試連接vsftpd命令通道的超時時間。 【例7-2】 設置客戶端連接超時時間為60秒。 connect_timeout=60任務7
12、-3 配置vsftpd常規服務器任務7-3 配置vsftpd常規服務器任務7-3 配置vsftpd常規服務器任務7-3 配置vsftpd常規服務器任務7-3 配置vsftpd常規服務器 用文本編輯器打開,/etc/vsftpd/vsftpd.conf。rootRHEL6 桌面# vim /etc/vsftpd/vsftpd.conf 在其中添加如下4行:anonymous_enable=YES#允許匿名用戶登錄anon_root=/var/ftp#設置匿名用戶的根目錄為/var/ftpanon_upload_enable=YES#允許匿名用戶上傳文件anon_mkdir_write_enabl
13、e=YES#允許匿名用戶創建文件夾任務7-3 配置vsftpd常規服務器圖7-7 測試FTP服務器出錯任務7-3 配置vsftpd常規服務器什么原因呢?系統的本地權限沒有設置! 設置本地系統權限,一是將屬主設為ftp,二是對pub目錄賦予其他用戶寫的權限。rootRHEL6 桌面# ll -ld /var/ftp/pubdrwxr-xr-x 2 root root 4096 3月 2 2012 /var/ftp/pub/其他用戶沒有寫入權限rootRHEL6 桌面# chown ftp /var/ftp/pub/將屬主改為匿名用戶ftprootRHEL6 桌面# ll -ld /var/ftp
14、/pubdrwxr-xr-x 2 ftp root 4096 3月 2 2012 /var/ftp/pub /已將屬主改為匿名用戶ftprootRHEL6 桌面# service vsftpd restart 再次使用Windows 7客戶端測試,在pub目錄下能夠建立新文件夾。任務7-3 配置vsftpd常規服務器任務7-3 配置vsftpd常規服務器任務7-3 配置vsftpd常規服務器任務7-3 配置vsftpd常規服務器 建立用戶user1和user2,并設置用戶密碼。rootRHEL6 桌面# useradd -s /sbin/nologin user1rootRHEL6 桌面# u
15、seradd -s /sbin/nologin user2rootRHEL6 桌面# passwd user1rootRHEL6 桌面# passswd user2任務7-3 配置vsftpd常規服務器 測試。 rootclient 桌面# ftp Connected to ().220 (vsFTPd 2.2.2)Name (:root): ftp/輸入匿名用戶ftp登錄331 Please specify the password.Password:clos530 Login incorrect.Login failed./登錄失敗ftp close/關閉該連接221 Goodbye.ft
16、p open /重新打開ftp服務器Connected to ().220 (vsFTPd 2.2.2)Name (:root): user1/輸入本地用戶user1331 Please specify the password.Password:/輸入user1的用戶密碼230 Login successful.Remote system type is UNIX.Using binary mode to transfer files.ftp ls/登錄成功,可以列出設置的根目錄下的文件夾227 Entering Passive Mode (192,168,0,3,102,191).150
17、Here comes the directory listing.drwx- 2 0 0 16384 Dec 03 18:12 lost+founddrwx- 4 501 501 4096 Dec 13 07:50 user1drwx- 4 502 502 4096 Dec 13 07:51 user2drwx- 26 500 500 4096 Dec 03 20:10 yyadmin226 Directory send OK.ftp任務7-3 配置vsftpd常規服務器任務7-3 配置vsftpd常規服務器 重啟服務及測試。 任務7-3 配置vsftpd常規服務器 重啟服務及測試。 root
18、client 桌面# ftp Connected to ().220 (vsFTPd 2.2.2)Name (:root): user1331 Please specify the password.Password:230 Login successful.Remote system type is UNIX.Using binary mode to transfer files.ftp pwd257 /目前在“/”目錄下。實際上是在“/home“目錄,從ls命令顯示的內容可以看出ftp ls227 Entering Passive Mode (192,168,0,3,41,229).150
19、 Here comes the directory listing.drwx- 2 0 0 16384 Dec 03 18:12 lost+founddrwx- 4 501 501 4096 Dec 13 07:50 user1drwx- 4 502 502 4096 Dec 13 07:51 user2226 Directory send OK.任務7-3 配置vsftpd常規服務器8配置虛擬用戶 基于安全方面的考慮,vsftpd除了支持本地用戶和匿名用戶之外,還支持虛擬用戶,就是將所有非Anonymous(匿名用戶)都映射為一個虛擬用戶,從而統一限制其他用戶的訪問權限。 (1)guest_
20、enable。 當設置為“YES”時(默認值為“NO”),所有非匿名用戶都被映射為一個特定的本地用戶。該用戶通過“guest_username”命令指定。 (2)guest_username。 設置虛擬用戶映射到的本地用戶,默認值為“ftp”。 任務7-3 配置vsftpd常規服務器9配置用戶登錄控制 vsftpd還提供了豐富的登錄控制選項,包括登錄后客戶端可以顯示的信息,允許執行的命令等,以及登錄中的一些控制選項。 (1)banner_file。 設置客戶端登錄之后,服務器顯示在客戶端的信息,該信息保存在“banner_file”指定的文本文件中。 (2)cmds_allowed。 設置客戶
21、端登錄vsftpd服務器后,客戶端可以執行的命令集合。需要注意的是,如果設置了該命令,則其他沒有列在其中的命令都拒絕執行。沒有設置默認值。 (3)ftpd-banner。 設置客戶端登錄vsftpd服務器后,客戶端顯示的歡迎信息或者其他相關信息。需要注意的是,如果設置了“banner_file”,則本命令會被忽略。沒有設置默認值。任務7-3 配置vsftpd常規服務器任務7-3 配置vsftpd常規服務器10配置目錄訪問控制 vsftpd還針對目錄的訪問設置了豐富的控制選項。 (1)dirlist_enable。 設置是否允許用戶列目錄。默認值為“YES”,即允許列目錄。 (2)dirmess
22、age_enable。 設置當用戶切換到一個目錄時,是否顯示目錄切換信息。如果設置為“YES”,則顯示“message_file”指定文件中的信息(默認是顯示.message文件信息)。在項目實錄中的子項目3對此有詳細講解。 (3)message_file。 用于指定目錄切換時顯示的信息所在的文件,默認值為“.message”。 任務7-3 配置vsftpd常規服務器 測試。 (4)force_dot_file。(5)hide_ids。 任務7-3 配置vsftpd常規服務器任務7-3 配置vsftpd常規服務器任務7-3 配置vsftpd常規服務器13日志設置vsftpd還可以讓我們記錄服務
23、器的工作狀態,以及客戶端的上傳、下載操作。(1)dual_log_enable。(2)log_ftp_protocol。(3)syslog_enable。(4)xferlog_enable。(5)xferlog_std_format。 任務7-3 配置vsftpd常規服務器14配置限制服務器連接數 限制在同一時刻內允許連接服務器的數量是一種非常有效的保護服務器并減少負載的方式之一。主配置文件中常用的字段有以下兩種。 (1)max_clients。設置FTP同一時刻的最大連接數。默認值為0,表示不限制最大連接數。 (2)max_per_ip。設置每個IP的最大連接數。默認值為0,表示不限制最大連
24、接數。任務7-3 配置vsftpd常規服務器任務7-3 配置vsftpd常規服務器任務7-3 配置vsftpd常規服務器任務7-3 配置vsftpd常規服務器任務7-3 配置vsftpd常規服務器任務7-3 配置vsftpd常規服務器任務7-3 配置vsftpd常規服務器(4)關閉防火墻和SELinux。 利用setup命令打開防火墻對話框,將“啟用”前面的“*”按空格去掉,保存退出即可。 編輯/etc/sysconfig/selinux文件,將“SELINUX=enforcing”改為“SELINUX=disabled”,存盤退出,重啟系統即可。如果臨時設定,則可以使用:“setenforc
25、e 0”命令,但該命令重啟后失效。 任務7-3 配置vsftpd常規服務器任務7-3 配置vsftpd常規服務器(7)測試結果如圖 任務7-4 設置vsftp虛擬賬號1創建用戶數據庫 (1)創建用戶文本文件。 首先,建立保存虛擬賬號和密碼的文本文件,格式如下。虛擬賬號1密碼虛擬賬號2密碼任務7-4 設置vsftp虛擬賬號 使用vi編輯器建立用戶文件vuser.txt,添加虛擬賬號user10和user20。如下所示。 rootserver # mkdir /vftprootserver # vim /vftp/vuser.txtuser10123456user20123456任務7-4 設置v
26、sftp虛擬賬號任務7-4 設置vsftp虛擬賬號(3)修改數據庫文件訪問權限。 數據庫文件中保存著虛擬賬號和密碼信息,為了防止非法用戶盜取,可以修改該文件的訪問權限。rootserver # chmod 700 /vftp/vuser.dbrootserver # ll /vftp任務7-4 設置vsftp虛擬賬號2配置PAM文件 為了使服務器能夠使用數據庫文件,對客戶端進行身份驗證,需要調用系統的PAM模塊。PAM(Plugable Authentication Module)為可插拔認證模塊,不必重新安裝應用程序,通過修改指定的配置文件,調整對該程序的認證方式。PAM模塊配置文件路徑為/
27、etc/pam.d,該目錄下保存著大量與認證有關的配置文件,并以服務名稱命名。 下面修改vsftp對應的PAM配置文件/etc/pam.d/vsftpd,將默認配置使用“#”全部注釋,添加相應字段,如下所示。rootRHEL6 桌面# vim /etc/pam.d/vsftpd#PAM-1.0#sessionoptionalpam_keyinit.soforcerevoke#authrequiredpam_listfile.soitem=usersense=deny#file=/etc/vsftpd/ftpusersonerr=succeed#authrequiredpam_shells.so
28、authrequired/lib64/security/pam_userdb.sodb=/vftp/vusersessionrequired/lib64/security/pam_userdb.so db=/vftp/vuser任務7-4 設置vsftp虛擬賬號任務7-4 設置vsftp虛擬賬號4修改vsftpd.confanonymous_enable=NOanon_upload_enable= NOanon_mkdir_write_enable=NOanon_other_write_enable=NOlocal_enable=YESchroot_local_user=YESwrite_en
29、able=NOguest_enable=YESguest_username=vuserlisten=YESpam_service_name=vsftpd以上代碼中其后帶序號的各行功能說明如下。 為了保證服務器的安全,關閉匿名訪問,以及其他匿名相關設置。 虛擬賬號會映射為服務器的系統賬號,所以需要開啟本地賬號的支持。 鎖定賬戶的根目錄。 關閉用戶的寫權限。 開啟虛擬賬號訪問功能。 設置虛擬賬號對應的系統賬號為vuser。 設置FTP服務器為獨立運行。 配置vsftp使用的PAM模塊為vsftpd。任務7-4 設置vsftp虛擬賬號5重啟vsftpd服務6測試 使用虛擬賬號user1登錄FTP服務
30、器,進行測試,會發現虛擬賬號登錄成功,并顯示FTP服務器目錄信息。7.4 企業實戰與應用 7.4.1 企業環境 公司為了宣傳最新的產品信息,計劃搭建FTP服務器,為客戶提供相關文檔的下載。對所有互聯網用戶開放共享目錄,允許下載產品信息,禁止上傳。公司的合作單位能夠使用FTP服務器進行上傳和下載,但不可刪除數據。并且為保證服務器的穩定性,需要進行適當優化設置。7.4.2 需求分析 根據企業的需求,對于不同用戶進行不同的權限限制,FTP服務器需要實現用戶的審核。而考慮服務器的安全性,所以關閉實體用戶登錄,使用虛擬賬戶驗證機制,并對不同虛擬賬號設置不同的權限。為了保證服務器的性能,還需要根據用戶的等
31、級限制客戶端的連接數以及下載速度。7.4.3 解決方案7.4.3 解決方案7.4.3 解決方案2配置PAM文件修改vsftp對應的PAM配置文件/etc/pam.d/vsftpd,如下所示。#%PAM 1.0# session optional pam_keyinit.so force revoke# auth required pam_listfile.soitem=user sense=deny#file = /etc/vsftpd/ftptestusers onerr = succeed#auth required pam_shells.so# auth include system-a
32、uth# account include system-auth# session include svstem-auth# session required pam_loginuid.soauth required /lib64/security/pam_userdb.so db=/ftptestuser/ftptestuseraccount required /lib64/security/pam_userdb.sodb=/ftptestuser/ftptestuser7.4.3 解決方案3創建虛擬賬戶對應系統用戶 對于公共賬戶和客戶賬戶,因為需要配置不同的權限,所以可以將兩個賬戶的目錄進
33、行隔離,控制用戶的文件訪問。公共賬戶ftp對應系統賬戶ftpuser,并指定其主目錄為/var/ftp/share,而客戶賬戶vip對應系統賬戶ftpvip,指定主目錄為/var/ftp/vip。7.4.3 解決方案4建立配置文件 設置多個虛擬賬戶的不同權限,若使用一個配置文件無法實現該功能,這時需要為每個虛擬賬戶建立獨立的配置文件,并根據需要進行相應的設置。 step1:修改vsftpd.conf。配置主配置文件vsftpd.conf,添加虛擬賬號的共同設置,并添加user_config_dir字段,定義虛擬賬號的配置文件目錄,如下所示。anonymous_enable=NOanon_upl
34、oad_enable= NOanon_mkdir_write_enable=NOanon_other_write_enable=NOlocal_enable=YESchroot_local_user=YESlisten=YESpam_service_name=vsftpduser_config_dir=/ftpconfigmax_clients=300max_per_ip=107.4.3 解決方案以上文件中其后帶序號的幾行代碼的功能說明如下。 配置vsftp使用的PAM模塊為vsftpd。 設置虛擬賬號的主目錄為/ftpconfig。 設置FTP服務器最大接入客戶端數量為300。 每個IP地址
35、最大連接數為10。7.4.3 解決方案step2:建立虛擬賬號配置文件。 設置多個虛擬賬號的不同權限,若使用一個配置文件無法實現此功能,需要為每個虛擬賬號建立獨立的配置文件,并根據需要進行相應的設置。 在user_config_dir指定路徑下,建立與虛擬賬號同名的配置文件,并添加相應的配置字段。首先創建公共賬號ftp的配置文件,如下所示。7.4.3 解決方案以上文件中其后帶序號的幾行代碼的功能說明如下。 開啟虛擬賬號登錄。 設置ftp對應的系統賬號為ftpuser。 配置虛擬賬號全局可讀,允許其下載數據。 限定傳輸速率為30KB/s。7.4.3 解決方案同理設置ftpvip的配置文件。以上文件中其后帶序號的幾行代碼的功能說明如下。 設置vip賬戶對應的系統賬戶為ftpvip。 關
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 委托植樹造林合同范本
- 主體結構檢測委托協議書
- 三人臨時合伙合同范本
- 廢舊金屬買賣合同范本
- 噴塑圍欄制作合同范本
- 摩托車行駛證轉讓協議書
- 個體工商勞務合同范本
- 家具定制安裝合同范本
- 公司維修雇傭合同范本
- 農村房屋合伙合同范本
- GB/T 2410-1980透明塑料透光率和霧度試驗方法
- 六年級英語下冊單詞和短語默寫版廣州
- 礦井火災防治課件
- 中考物理復習杠桿和滑輪課件
- 辦公室擬辦意見范文(優選十八篇)
- 最新安全生產管理教材電子版
- (完整版)馬克思主義基本原理概論知識點
- 地表水水質自動監測站運行維護技術規范
- 健康證申請證明(通用)
- GB∕T 10054.1-2021 貨用施工升降機 第1部分:運載裝置可進人的升降機
- 生物安全委員會及組織架構
評論
0/150
提交評論