Linux系統FTP服務器搭建與配置

一、簡介

     1、簡介

          File Transfer Protocol(文件傳輸協議)的英文簡稱,而中文簡稱爲“文件傳輸協議”。用於Internet上的控制文件的雙向傳輸。同時,它也是一個應用程序(Application)。基於不同的操作系統有不同的FTP應用程序,而所有這些應用程序都遵守同一種哦協議以傳輸文件。在FTP的使用當中,用戶經常遇到兩個概念:“下載(Download)”和“上傳(Upload)”。

          下載文件就是將文件從遠程主機拷貝到自己的計算機上;

          上傳文件就是將文件從自己的計算機拷貝到遠程主機上。

          支持FTP協議的服務器就是FTP服務器。

     2、工作模式

        主動模式:

          FTP客戶機向服務器的FTP控制端口(默認是21)發送請求,服務器接受連接,建立一 條命令鏈路,當需要傳送數據時候,客戶端在命令鏈路上用PORT命令告訴服務器:“我打開了某個端口,你過來連接我。”於是服務器從20端口向客戶端的改端口發送連接請求,建立一條數據鏈路來傳送數據。在數據鏈路建立的過程中是服務器主動請求,所以稱爲主動模式。
FTP 主動模式(命令行是主動模式)
服務器用20號端口,主動連接客戶機的大於1024的隨機端口。

        被動模式:
          FTP客戶端向服務器的FTP控制端口發送連接請求,服務器接收連接,建立一條命令鏈路,當需要傳送數據時候,服務器在命令鏈路上用PASV命令告訴客戶端;“我打開了某端口,你過來連接我。”於是客戶端向服務器的該端口發送連接請求,建立一條數據鏈路來傳送數據。在數據鏈路建立的過程中是服務器被動等待客戶端請求,所以稱爲被動模式。
        FTP被動模式客戶機用大於1024的隨機端口,主動連接服務器大於1024的隨機端口。

  主動模式下的FTP服務器,需要在服務器和客戶端之間的防火牆中設置一下策越:

          允許FTP客戶機從大於1024的端口連接FTP服務器的21端口
          允許FTP服務器從21端口迴應FTP客戶機中大於1024端口的網絡連接。
          允許FTP服務器從20端口主動連接FTP客戶機中大於1024的端口
          允許FTP客戶機從大於1024的端口迴應來自FTP服務器20端口的網絡連接
        被動模式下的FTP服務器,需要在服務器和客戶端之間的防火牆中設置一下策越:
          允許FTP客戶機從大於1024的端口連接FTP服務器的21端口
          允許FTP服務器從21端口迴應FTP客戶機中大於1024端口的網絡連接。
          允許FTP客戶機從大於1024端口主動連接FTP服務器中大於1024的端口
          允許FTP服務器從大於1024的端口迴應來自FTP客戶機大於1024端口的網絡連接

     3、服務端和客戶端程序

          1)常見的FTP服務器程序:

               Windows:IIS 、Serv-U

               Linux:  wu-ftpd 、Proftpd 、vsftpd(Very Secure FTP Daemon,常用)

          2)常見的FTP客戶端程序:

               CuteFTP、FlashFXP、LeapFTP、Filezilla

               gftp、kuftp、FTP命令(Linux中可能需要自己安裝,yum -y install ftp)


二、FTP服務器的安裝與配置

      1、安裝

        1)服務器端: vsftpd

        2)客戶端:

             Linux系統:安裝ftp命令

             Windows系統:使用第三方軟件連接

      2、配置文件詳解

            /etc/vsftpd/vsftpd.conf      #主配置文件             

                anonymous_enable=YES  #允許匿名用戶訪問

                anon_umask=022        #匿名用戶所上傳文件的權限掩碼(無此項,默認是600)

                anon_root=/var/ftp    #匿名用戶的FTP根目錄

                anon_upload_enable=YES   #允許匿名用戶上傳(服務器權限和目錄權限均需要設置)

                anon_mkdir_write_enable=YES   #允許創建目錄

                anon_other_write_enable=YES   #開放其他寫入權

                anon_max_rate=0     #限制最大傳輸速度(字節/秒)

                local_enable=YES   #是否啓用本地系統用戶

                local_umask=022   #本地用戶所上傳文件的權限掩碼

                local_root=/var/ftp   #設置本地用戶的FTP根目錄

                chroot_local_user=YES  #是否將用戶禁錮在主目錄

                local_max_rate=0      #限制最大傳輸速率

            listen_address=192.168.4.1  #設置監聽的IP地址

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

                write_enable=YES           #是否啓用寫入權限

                download_enable=YES        #是否允許下載文件

                max_clients=0              #限制併發客戶端連接數

                max_per_ip=0               #限制同一IP地址的併發連接數

     3、虛擬用戶配置       

        1)建立虛擬FTP用戶的帳號數據庫文件

           vi /etc/vsftpd/vusers.list(奇數行寫用戶名,偶數行寫密碼)

              lc

              123

              sc

              123

           cd /etc/vsftpd

           db_load -T -t hash -f vusers.list vusers.db

           chmod 600 /etc/vsftpd/vusers.*

         2)創建FTP根目錄及虛擬用戶映射的系統用戶

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

          chmod 755 /var/ftproot

         3)建立支持虛擬用戶的PAM認證文件

          vi /etc/pam.d/vsftpd.vu

           #%PAM-1.0

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

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

          添加虛擬用戶支持

         4)在vsftpd.conf文件中添加支持配置

           local_enable=YES

           write_enable=YES

               anon_umask=022

               guest_enable=YES

               guest_username=virtual

               pam_service_name=vsftpd.vu

               user_config_dir=/etc/vsftpd/vusers_dir

       5)爲個別虛擬用戶建立獨立的配置文件

           mkdir  /etc/vsftpd/vusers_dir

           cd  /etc/vsftpd/vusers.dir

           vi lc

            anon_upload_enable=YES

            anon_mkdir_write_enable=YES

          啓動服務並測試

         6)重新加載vsftpd配置

            service vsftpd  reload

         7)使用虛擬FTP帳號訪問測試

            每個用戶都可以通過自己獨立配置文件中分配的權限來訪問FTP服務器。



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