FTP文件共傳輸服務

FTP文件共傳輸服務

一,vsftpd服務基礎

1),FTP服務概述

        FTPFile Transfer  Protocol,文件傳輸協議)是典型的C/S結構的應用層協議,需要由服務端軟件、客戶端軟件共同實現文件傳達輸功能。

1,FTP連接及傳輸模式

#FTP服務器默認使用TCP協議的“2021端口”與客戶端進行通信

#20端口用於建立數據連接,並傳輸文件數據

#21端口用於建立控制連接,並傳輸FTP控制命令

【模式】

#主動模式:服務器主動發起數據連接,首先由客戶端向服務端的21端口建立FTP

控制連接,當需要傳輸數據時,客戶端以ROPT命令告知服務器“我打開了某

個端口,你過來連接我“,於是,服務器從20端口向客戶端發送請求並建立

數據連接。

#被動模式:服務器被動等待數據連接,如果客戶機所在網絡的防火牆禁止主動模

式連接,通常會使用被動模式,客戶端向服務器的該端口(非20)發送請求

並建立數據連接。

【端口】

隨機端口 > 1024              周知端口 <= 1024

2,FTP用戶類型

#匿名用戶:ftpanonymous,空密碼,一般用於提供公共文件的下載。

#本地用戶:本機的系統用戶。

#虛擬用戶:不是直接使用系統用戶,而是位於獨立數據文件中的FTP用戶賬號,通

過使用虛擬用戶,將FTP賬戶與Linux系統賬戶的關聯性降至最低,可以爲系

統提供更好的安全。

3,FTP服務器軟件的分類

#windowsiis                  serv-u

#Linuxproftpd pureftpd  vsftpd

〖vsftpd〗

a)spacer.gif該軟件針對安全特性方面做了大量的設計

b)Vsftpd在速度和穩定性方面的表現也相當突出

c)Vsftpd可以支持15000個用戶併發連接

d)Vsftpd:“very secure  FTP  daemon

4,FTP客戶端工具的種類

#windowscuteFTP FlashFxp  LeapFTP  Filezilla

#Linuxgftp kuftp

2),vsftpd的配置

        #主程序:/usr/sbin/vsftpd

        #配置文件:/etc/vsftpd

        #腳本文件:/etc/init.d/vsftpd

1,用戶列表文件“ftpusersuser_list

#ftpusers:黑名單文件,此文件中列出的用戶將禁止登錄到vsftpd服務

#user_list:黑白名單文件,一般用作白名單。此文件中包含的用戶可能被禁止登錄,

也可能被允許登錄,具體取決於主配置文件vsftpd.conf中的設置

spacer.gif           userlist_enable=yesuser_list列表文件才生效

          userlist_deny=yes,爲黑白名單,禁止此列表中的用戶登錄

          userlist_deny=no,爲白名單,允許此列表中的用戶登錄

2,主配置文件“vsftpd.conf

格式:配置項=參數


【vsftpd.conf常見配置項及含義說明】

【匿名用戶/適用於虛擬用戶】

anonymous_enable=yes /是否允許匿名訪問

anon_umask=022 /設置匿名用戶所上傳文件的默認權限掩碼值,採用反碼方式表示

anon_root=/var/ftp    /設置匿名用戶的FTP根目錄(缺省爲/var/ftp)

anon_upload_enable=yes   /是否允許匿名用戶上傳文件

anon_mkdir_write_enable=yes    /是否允許匿名用戶有創建目錄的寫入權限

anon_other_write_enable=yes  /是否允許匿名用戶有其他寫入權限“改名,刪除”

anon_max_rate=0  /限制匿名用戶的最大傳輸速率(0爲無限制),單位爲字節/秒

【本地用戶】

   local_enable=yes  /是否允許本地系統用戶訪問

   local_umask=022  /設置本地用戶所上傳文件的默認權限

   local_root=/var/ftp    /設置本地用戶的FTP根目錄,適用於虛擬用戶

   local_local_user=yes  /是否將FTP本地用記禁錮在宿主目錄中

   local_max_rate=0  /限制本地用戶的最大傳輸率(0爲無限制)

【全局配置】

   userlist_enable=yes  /是否啓用user_list用戶列表文件,啓用黑白名單

   userlist_deny=yes  /是否禁用user_list列表文件中的用戶賬號,yes爲黑

   max_clients=0  /是否允許多個客戶端同時連接(0爲無限制)

max_per_ip=0  /對來自同一個IP地址的客戶端,最多允許多少個併發連接(0爲元限制),控制多進程下載,如“迅雷”

connect_from_port_20=yes /允許服務器主動模式(從20端口建立數據連接)

pasv_enable=yes  /允許被動模式連接

pasv_max_port=24600  /設置用於被動模式的服務器最大端口號

pasv_min_port=24500  /設置用於被動模式的服務器最小端口號

pam_service_name=vsftpd  /設置用於用戶認證的PAM文件位置(/dev/pam.d/目錄中對應的文件名)

listen=yes  /是否以獨立運行的方式監聽服務

listen_address=0.0.0.0  /設置監聽FTP服務的IP地址

listen_port=21  /設置監聽FTP服務的端口號

write_enable=yes  /啓用任何形式的寫入權限(如上傳、刪除文件等)要開啓它

download_enable=yes  /是否允許下載文件(no爲僅限於瀏覽、上傳)

dirmessage_enable=yes  /用戶切換進入目錄時顯示.message文件

xferlog_enable=yes  /啓用xferlog日誌,默認記錄到/var/log/xferlog

xferlog_std_format=yes  /啓用標準的xferlog日誌格式。如禁用,將使用vsftpd自己的日誌格式

二,基於系統用戶的FTP服務

1),匿名訪問的FTP服務

1,準備匿名FTP訪問的目錄

        #FTP匿名用戶對應的系統用戶爲ftp

        #宿主目錄:/var/ftp

2,開放匿名用戶配置,並啓動vsftpd服務

#設置主配置文件:vim /etc/vsftpd/vsftpd.conf

#開啓服務:service vsftpd  restart

3,測試匿名FTP服務器

ftp  192.168.1.1


【登錄FTP後,對客戶端操作方法】


Linux

Windows

顯示當前路徑

!pwd

!cd

改變路徑

lcd

lcd

查看目錄內容

!ls

!dir


2),用戶驗證的FTP服務

1,基本的本地用戶驗證

·ftp://用戶名@192.168.1.1

·ftp://用戶名:密碼@192.168.1.1

2,使用user_list用戶列表文件

·編輯“vim /etc/vsftpd/user_list”

添加本地用戶

·編輯 vim  /etc/vsftpd/vsftpd.conf

          userlist_enable=yes      啓用此項

          userlist_deny=no     啓用白名單

·重啓服務:service vsftpd  restart

3),vsftpd服務的其他常用配置

1,修改vsftpd服務的監聽地址、端口

查看vsftpd服務的監聽情況:netstat  -anpt |  grep  “vsftpd”

2,允許使用FTP服務器的被動模式

3,限制FTP連接的併發數、傳輸速度

三,基於虛擬用戶的FTP服務

1),建立虛擬用戶的賬號數據庫

準備工作:rpm  -ivh  db4-utils-..rpm                       /安裝此軟件

1,創建文件格式的用戶名、密碼列表

vim /etc/vsftpd/vusers.list                   /vusers.list文件名,後綴名自定義

spacer.gifspacer.gif用戶名奇數行

密碼偶數行

2,創建Berkeley DB格式的數據庫文件源文件目標文件

a)spacer.gifspacer.gif先進入/etc/vsftpd/目錄:cd  /etc/vsftpd

b)創建轉換:db_load  -T -t  hash  -f  vusers.listvusers.db

c)查看轉換後的文件類型:flie  vusers.db

d)爲提高虛擬用戶賬號文件的安全性,設置文件權限

chmod  600 /etc/vsftpd/vusers.*

3,添加虛擬用戶的映射賬號、創建FTP根目錄

useradd  -d /var/ftproot  -s  /sbin/nologin virtual  

spacer.gifchmod  755  /var/ftproot                   ftproot這個目錄會自動創建)

2),爲vsftpd服務添加虛擬用戶支持

1,爲虛擬用戶建立PAM認證文件

位於:/etc/pam.d/vsftpd

spacer.gifvim  /etc/pam.d/vsftpd.vuvsftpd.vu文件名可自定義)

spacer.gif                   auth             required  pam_userdb.so  db=/etc/vsftpd/vusers

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

2,修改vsftpd配置,添加虛擬用戶支持

vim /etc/vsftpd/vsftpd.conf

                  ……//省略部分內容

spacer.gif                   local_enable=yes                              /需要映射本地用戶、所以啓用此項

                  write_enable=yes                            /啓用上傳寫入支持

                  anon_umask=022                             /指定上傳權限掩碼


spacer.gif                   guest_enable=yes                                     /啓用用戶映射功能

                  guest_username=virtual               /指定映射的系統用戶名稱

                  pam_service_name=vsftpd.vu   /指定新的PAM認證文件

3,爲不同的虛擬用戶建立獨立的配置文件

a)vim  /etc/vsftpd/vsftpd.conf

……//省略部分內容

spacer.gifuser_config_dir=/etc/vsftpd/vusers_dir                       (vusers_dir目錄名自定義)

b)創建用戶配置文件夾

mkdir  /etc/vsftpd/vusers_dir

c)進入此文件夾,爲用戶建立獨立的配置文件

cd  /etc/vsftpd/vusers_dir

vim  用戶名

spacer.gif           anon_upload_enable=yes                               /上傳權限

          anon_mkdir_write_enable=yes                    /創建、定入權限

          anon_other_write_enable=yes                    /修改權限

d)重新加載配置

service vsftpd  reload


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