天天看點

FTP檔案共傳輸服務

FTP檔案共傳輸服務

一,vsftpd服務基礎

(1),FTP服務概述

        FTP(File Transfer  Protocol,檔案傳輸協定)是典型的C/S結構的應用層協定,需要由服務端軟體、用戶端軟體共同實作檔案傳達輸功能。

1,FTP連接配接及傳輸模式

#FTP伺服器預設使用TCP協定的“20、21端口”與用戶端進行通信

#20端口用于建立資料連接配接,并傳輸檔案資料

#21端口用于建立控制連接配接,并傳輸FTP控制指令

【模式】

#主動模式:伺服器主動發起資料連接配接,首先由用戶端向服務端的21端口建立FTP

控制連接配接,當需要傳輸資料時,用戶端以ROPT指令告知伺服器“我打開了某

個端口,你過來連接配接我“,于是,伺服器從20端口向用戶端發送請求并建立

資料連接配接。

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

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

并建立資料連接配接。

【端口】

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

2,FTP使用者類型

#匿名使用者:ftp或anonymous,空密碼,一般用于提供公共檔案的下載下傳。

#本地使用者:本機的系統使用者。

#虛拟使用者:不是直接使用系統使用者,而是位于獨立資料檔案中的FTP使用者賬号,通

過使用虛拟使用者,将FTP賬戶與Linux系統賬戶的關聯性降至最低,可以為系

統提供更好的安全。

3,FTP伺服器軟體的分類

#windows:iis                  serv-u

#Linux:proftpd pureftpd  vsftpd

〖vsftpd〗

a)該軟體針對安全特性方面做了大量的設計

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

c)Vsftpd可以支援15000個使用者并發連接配接

d)Vsftpd:“very secure  FTP  daemon”

4,FTP用戶端工具的種類

#windows:cuteFTP FlashFxp  LeapFTP  Filezilla

#Linux:gftp kuftp

(2),vsftpd的配置

        #主程式:/usr/sbin/vsftpd

        #配置檔案:/etc/vsftpd

        #腳本檔案:/etc/init.d/vsftpd

1,使用者清單檔案“ftpusers和user_list”

#ftpusers:黑名單檔案,此檔案中列出的使用者将禁止登入到vsftpd服務

#user_list:黑白名單檔案,一般用作白名單。此檔案中包含的使用者可能被禁止登入,

也可能被允許登入,具體取決于主配置檔案vsftpd.conf中的設定

          userlist_enable=yes,user_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

檢視目錄内容

!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檔案名,字尾名自定義

使用者名奇數行

密碼偶數行

2,建立Berkeley DB格式的資料庫檔案源檔案目标檔案

a)先進入/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  

chmod  755  /var/ftproot                   (ftproot這個目錄會自動建立)

(2),為vsftpd服務添加虛拟使用者支援

1,為虛拟使用者建立PAM認證檔案

位于:/etc/pam.d/vsftpd

vim  /etc/pam.d/vsftpd.vu(vsftpd.vu檔案名可自定義)

                  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

                  ……//省略部分内容

                  local_enable=yes                              /需要映射本地使用者、是以啟用此項

                  write_enable=yes                            /啟用上傳寫入支援

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

                  guest_enable=yes                                     /啟用使用者映射功能

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

                  pam_service_name=vsftpd.vu   /指定新的PAM認證檔案

3,為不同的虛拟使用者建立獨立的配置檔案

a)vim  /etc/vsftpd/vsftpd.conf

……//省略部分内容

user_config_dir=/etc/vsftpd/vusers_dir                       (vusers_dir目錄名自定義)

b)建立使用者配置檔案夾

mkdir  /etc/vsftpd/vusers_dir

c)進入此檔案夾,為使用者建立獨立的配置檔案

cd  /etc/vsftpd/vusers_dir

vim  使用者名

          anon_upload_enable=yes                               /上傳權限

          anon_mkdir_write_enable=yes                    /建立、定入權限

          anon_other_write_enable=yes                    /修改權限

d)重新加載配置

service vsftpd  reload

繼續閱讀