1. 程式人生 > >linux服務之FTP服務配置

linux服務之FTP服務配置

    一:FTP工作原理:

               a:主動模式

                                  1: 客戶端向服務端發起控制連線 埠號為21。併發送一個自己隨機生成的傳輸埠給伺服器

                                  2:伺服器收到傳輸埠號,與客戶端建立資料傳輸連線,資料傳送完成後斷開連線。

                      b:被動模式

                                   1:客戶端與服務端的控制連線建立聯絡,並請求被動連線。

                                   2: 服務端接受到客戶端的被動請求,隨機生成一個數據傳輸埠,傳送給客戶端。

                                   3:客戶端使用服務端傳送的埠,來跟伺服器進行資料傳輸。

                  在實際的過程中,絕大多數都是使用被動模式,因為如果客戶端隨機生成的埠發給服務端,服務主動連線客戶端,會被客戶端的防火牆阻擋! 所以一般使用被動模式

               二:FTP的配置:

                     1:首先安裝伺服器 vsftpd包。

                             2:客戶端使用命令wget lftp ftp 來進行連線。

                                        a.  wget用法

                                               下載檔案:wget -user=hello -password=123 ftp://172.16.28.19/file

                                              下載資料夾:wget -r ftp://172.16.28.19/soft/dir -nH --cut-dir=1 -P /etc -r表示rescure遞迴檔案,-nH選項表示去除上層目錄,--cut-dir表示在根目錄上再去除多個目錄。-P表示目錄重定向

                                       b.  lftp 172.16.17.25   

                                              下載檔案  get  下載資料夾 mirror  上傳檔案put  上傳資料夾 put -r ./dir  

                                       c.  ftp  172.16.25.42

                                                !ls 命令檢視本機的目錄,lcd 切換本機的當前目錄,

   三:伺服器端配置

                             1:使用者分為匿名使用者,本地使用者,虛擬使用者

                               匿名使用者的ftp共享目錄為  /var/ftp  不需要輸入密碼。不能切換根目錄。

                                anon_root=/var/dir 設定共享目錄的路徑。  

                             2:本地使用者的上傳目錄為預設為使用者的家目錄。可以切換根。可以通過增加欄位user_config_dir=/etc/vsftpd/usersdir 來分別對使用者進行區域性配置。建立的檔名和使用者名稱相同

                             3:通過增加userlist_enable=yes 啟用使用者控制列表檔案。

                                                 userlist_deny=yes 表示禁止/etc/vsftpd/user_list中的所有使用者使用ftp。

                                                 userlist_deny=no 表示允許/etc/vsftpd/user_list中的所有使用者使用ftp.

                                                 /etc/vsftpd/ftpusers檔案中的使用者優先user_list配置,所有ftpusers的都允許使用ftp.

                            4:建立虛擬使用者

                             a.建立一個虛擬使用者對映的本地賬戶

                                               useradd -d home_dir -s /sbin/nologin user

                             b.建立虛擬賬戶的使用者名稱和密碼,建立一個檔案 vi /etc/vsftp/vname

                                             在vname中加入使用者名稱和密碼,格式:一行使用者名稱,一行密碼。

                                                 c 生成資料庫檔案 db_load -T -t hash -f ./vname vname.db

                             d. 建立PAM認證檔案,vi /etc/pam.d/vname.vu 

                                     在檔案中新增兩行  auth required pam_userdb.so db=/etc/vsftpd/vname 

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

                             e. 在/etc/vsftpd/vsftpd.conf中啟用配置,新增欄位 guest_enable=YES   local_enable=YES   pam_service_name=vsftpd.vu