Vsftpd服務傳輸

1. FTP簡單介紹

文件傳輸協議FTP(File Transfer Protocol),即能夠讓用戶在互聯網中上傳、下載文件的文件協議

FTP客戶端   FTP服務器端

FTP佔用兩個端口號(21,20) 

   21端口:命令控制,用於接受客戶端執行的FTP命令。 

   20端口:數據傳輸,用於上傳、下載文件數據。

FTP數據傳輸類型:

    主動模式:FTP服務器端主動向FTP客戶端發起連接請求。

    被動模式:FTP服務器等待FTP客戶端的連接請求。

2. 安裝Vsftpd服務程序

   Vsftpd即“Very Secure FTP Dawmon”一款運行在Unix操作系統的FTP服務端程序,

 主打:安全性、完全開源免費、速度高、支持IPv6、虛擬用戶功能等。

   #yum install vsftpd -y

   #iptables -F        //清空防火牆規則

   #service iptables save   //保存清空後的防火牆規則

    /usr/sbin/vsftpd      主程序            

    /etc/vsftpd/ftpusers  & /etc/vsftpd/user_list   //用戶禁止登陸列表

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

配置文件參數作用詳解:

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

listen_address=ip_地址    //設置要監聽的ip地址

listen_port=21            //設置ftp的監聽端口

download_enable=yes|no    //是否運行下載

userlist_enable=yes|no    //是否啓用“禁止登陸用戶名單”

max_client=0              //最大客戶端連接數,0位不限制

anonymous_enable=yes| no  //是否允許匿名用戶訪問

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

anon_umask=022            //匿名用戶上傳文件的umask值

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

anon_mkdir_write_enable=yes|no   //是否開放匿名用戶創建目錄   

anon_other_write_enable=yes|no   //是否開放匿名用戶其他寫入權限

local_enable=yes|no        //是否允許本地用戶登錄ftp  

local_umask=022

local_root=/var/ftp

chroot_local_user=yes|no   //是否將用戶權限禁錮在ftp目錄,安全

3. Vsftpd的三種驗證方式

    匿名訪問:任何人無需驗證口令即可登錄ftp服務器。

   

    本地用戶:使用ftp服務器中的賬號、密碼信息。

    匿名用戶:創建的獨立的ftp賬號資料。

   

 3.1 匿名訪問模式

    vim /etc/vsftpd/vsftp.conf

   -------------------------------------

        anonymous_enable=yes

        anon_upload_enable=yes

        anon_mkdir_write_enble=yes

        anon_other_wite_enable=yes

        write_enbale=yes

-----------------------------------------

    服務器端:chown ftp /var/ftp/pub         //修改pub目錄宿主

              setenforce=0                  //關閉selinux

              vim /etc/selinux/conf 

   

                     

           

       

              systemctl restart vsftpd

     客服端配置:yun install ftp -y

                 ftp 192.168.100.10(服務器ip)

                 anonymous

3.2 本地用戶模式

vim /etc/vsftpd/vsftp.conf

   -------------------------------------

      anonymous_enable=no

      local_enable=yes

      write_enable=yes

      userlist_deny=yes

      userlist_enable=yes

      pam_service_name=vsftpd

-----------------------------------------

       systemctl restart vsftpd

       useradd jerry && echo "jerry" | passwd --stdin jerry   //添加userlist外的用戶

       iptables -F

       setenforce=0


--------------------------------

3.3 虛擬用戶模式(最安全)

    3.3.1 建立虛擬FTP用戶數據庫文件

          cd /etc/vsftpd

          vim myvuser.list      //單數行賬號   雙數爲密碼

              Jerry

              Jerry

         

          db_load -T -t hash -f myvuser.list myvuser.db   //使用dbload命令用hash算法生成數據庫文件myvuser.db

          chmod 600 myvuser.db     //修改權限

          rm -f myvuser.list

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

           useradd -d /var/ftproot -s /sbin/nologin virtual     //創建默認文件根目錄/var/ftproot

           ls -ld /var/ftproot/

           chmod -Rf 755 /var/ftproot/

   3.3.3 建立支持虛擬用的PAM認證文件

           vim /etc/pam.d/vsftpd.u

                auth required pam_userdb.so.db=/etc/vsftpd/myvuser //myvuser不加後綴

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

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

---------- -------------------------------------   

anonymous_enable=NO

local_enable=YES

guest_enable=YES

guest_username=virtual

pam_service_name=vsftpd.vu                  //指定pam文件

write_enable=YES

allow_writeable_chroot=YES                  //允許根目錄可寫

user_config_dir=/etc/vsftpd/myvusers_dir

-----------------------------------------------

    3.3.5 爲虛擬用戶設置不同的權限

............................................................

          vim /etc/vsftpd/vsftpd.conf

              user_config_dir=/etc/vsftpd/myvusers_dir  //創建用戶獨立權限配置文件存放目錄

          cd  /etc/vsftpd/myvusers_dir

                 vim Jerry                                     //配置Jerry用戶的具體權限

                     anon_upload_enable=YES

                     anon_mkdir_write_enable=YES

                     anon_other_write_enable=YES

......................................................................

    3.3.6 重啓 vsftpd服務  systemctl restart vsftpd


4. 可插拔認證模塊PAM

      PAM:Pluggable Authentication Modules一種認證機制

      應用  -> PAM api (應用接口層) -> 模塊 (鑑別模塊層)

          重要pam目錄:

                /lib/security:pam         //認證模塊

                /etc/pam.d                //針對不同服務定義好的pam配置文件

                 




  

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