<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Linux環境下安裝配置vsftpd服務(三種認證模式)

          

      一、FTP簡介

      文件傳輸協議(英文:File Transfer Protocol,縮寫:FTP)是用于在網絡上進行文件傳輸的一套標準協議。它工作于網絡傳輸協議的應用層,使用客戶/服務器模式,主要是用來在服務器與客戶端之間進行數據傳輸。FTP 其實是以 TCP 封包的模式進行服務器與客戶端計算機之間的聯機,當聯機建立后,使用者可以在客戶端端連上 FTP 服務器來進行文件的下載與上傳,此外,也可以對 FTP 服務器上面的文檔進行管理等。

      FTP傳輸模式
      文件傳輸協議(File Transfer Protocol,FTP),基于該協議FTP客戶端與服務端可以實現共享文件、上傳文件、下載文件。
      FTP基于C/S模式,FTP客戶端與服務器端有兩種傳輸模式,分別是FTP主動模式、FTP被動模式(默認的工作模式)。主被動模式均是以FTP服務器端為參照。

      FTP主動模式:客戶端從一個任意的端口N(N>1024)連接到FTP服務器的port 21命令端口,客戶端開始監聽端口N+1,并發送FTP命令“port N+1”到FTP服務器,FTP服務器以數據端口(20)連接到客戶端指定的數據端口(N+1)。

          

      FTP被動模式:客戶端從一個任意的端口N(N>1024)連接到FTP服務器的port 21命令端口,客戶端開始監聽端口N+1,客戶端提交 PASV命令,服務器會開啟一個任意的端口(P >1024),并發送PORT P命令給客戶端。客戶端發起從本地端口N+1到服務器的端口P的連接用來傳送數據。

          

      在企業實際環境中,如果FTP客戶端與FTP服務端均開放防火墻,FTP需以主動模式工作,這樣只需要在FTP服務器端防火墻規則中,開放20、21端口即可。

      環境準備

      屬性 FTP服務端 FTP客戶端
      節點 wencheng-1 windows10
      系統 CentOS Linux release 7.5.1804 (Minimal) windows10 企業版
      內核 3.10.0-862.el7.x86_64 windows10 企業版2019 x64
      IP地址 172.16.70.185 172.16.70.50
      SELinux setenforce 0 | disabled  

      FTP服務端操作步驟

      • 1.服務端安裝vsftpd服務。
      [root@wencheng-1 ~]# yum install -y vsftpd
      [root@wencheng-1 ~]# rpm -qa | grep vsftpd
      vsftpd-3.0.2-28.el7.x86_64
      
      [root@wencheng-1 ~]# rpm -ql vsftpd 
      /etc/pam.d/vsftpd    # vsftpd 使用PAM模塊時的配置文件,主要做認證功能
      /etc/vsftpd/ftpusers    # 用戶登錄黑名單,拒絕ftpusers列表內的用戶登錄vsftpd,一行一個賬號
      /etc/vsftpd/user_list    # 默認為用戶登錄黑名單,拒絕user_list列表內的用戶登錄vsftpd,一行一個賬號,這個
      配置是否能夠生效與 vsftpd.conf 內的參數 userlist_enable, userlist_deny 有關
      /etc/vsftpd/vsftpd.conf    # vsftpd 服務器的主配置文件,配置格式使用 [參數=設定值] 來設定,注意,等號兩邊不能有空白
      /etc/vsftpd/vsftpd_conf_migrate.sh    # 遷移腳本
      /usr/sbin/vsftpd    # vsftpd命令執行腳本文件
      /var/ftp    # 匿名用戶訪問根目錄
      
      [root@wencheng-1 ~]# systemctl start vsftpd
      [root@wencheng-1 ~]# ps -ef | grep vsftpd
      root      10988      1  0 16:20 ?        00:00:00 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
      root      10990   1583  0 16:21 pts/1    00:00:00 grep --color=auto vsftpd
      
      [root@wencheng-1 ~]# ps -ef | grep vsftpd
      root      10988      1  0 16:20 ?        00:00:00 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
      root      10992   1583  0 16:21 pts/1    00:00:00 grep --color=auto vsftpd
      
      [root@wencheng-1 ~]# systemctl enable vsftpd
      Created symlink from /etc/systemd/system/multi-user.target.wants/vsftpd.service to /usr/lib/systemd/system/vsftpd.service.
      

       注意:從現在開始,凡是涉及到服務的配置,就要考慮防火墻和SELinux的因素,很多教程和書籍上都是直接關閉防火墻和selinux,雖然這樣在學習階段可以避免干擾,但是這樣非常不安全。另外凡是配置了服務,都要加入開機啟動中,讓其每次重啟自動生效。

      •  2.服務端修改配置文件/etc/vsftpd/vsftpd.conf
      [root@wencheng-1 ~]# mv /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf_bak
      [root@wencheng-1 ~]# grep -Ev "^$|#" /etc/vsftpd/vsftpd.conf_bak > /etc/vsftpd/vsftpd.conf
      
      [root@wencheng-1 ~]# cat /etc/vsftpd/vsftpd.conf    # 默認配置文件詳解
      # 默認匿名用戶配置
      anonymous_enable=YES           # 開啟匿名用戶訪問;
      
      # 默認本地用戶配置
      local_enable=YES               # 啟用本地系統用戶訪問;
      local_umask=022                # 本地用戶創建文件及目錄默認權限掩碼;
      
      # 默認全局配置
      write_enable=YES               # 本地系統用戶寫入權限;
      dirmessage_enable=YES          # 打印目錄顯示信息,通常用于用戶第一次訪問目錄時,信息提示;
      xferlog_enable=YES             # 啟用上傳/下載日志記錄; 
      connect_from_port_20=YES       # FTP使用20端口進行數據傳輸;
      xferlog_std_format=YES         # 日志文件將根據xferlog的標準格式寫入;
      listen=NO                      # Vsftpd不以獨立的服務啟動,通過Xinetd服務管理,建議改成YES;
      listen_ipv6=YES                # 啟用IPV6監聽;
      pam_service_name=vsftpd        # 登錄FTP服務器,依據/etc/pam.d/vsftpd中內容進行認證;
      userlist_enable=YES            # Vsftpd.user_list和ftpusers配置文件里用戶禁止訪問FTP;
      tcp_wrappers=YES               # 設置vsftpd與tcp wrapper結合進行主機的訪問控制,Vsftpd服務器檢查/etc/hosts.allow 和/etc/hosts.deny中的設置,
                         來決定請求連接的主機,是否允許訪問該FTP服務器。
      
      • 3.vsftpd三種認證模式

        vsftpd作為更加安全的文件傳輸的服務程序,允許用戶以三種認證模式登錄到FTP服務器上:匿名開放模式、本地用戶模式、虛擬用戶模式。實際生產環境中虛擬用戶模式用的較多。

        首先要在防火墻添加ftp,20,21端口。

      # firewalld 添加ftp,20,21端口
      [root@wencheng-1 ~]# firewall-cmd --zone=public --add-service=ftp --permanent
      success
      [root@wencheng-1 ~]# firewall-cmd --zone=public --add-port=20/tcp --permanent
      success
      [root@wencheng-1 ~]# firewall-cmd --zone=public --add-port=21/tcp --permanent
      success
      
      [root@wencheng-1 ~]# firewall-cmd --zone=public --list-ports    # 查看firewalld開放的端口
      20/tcp 21/tcp
      [root@wencheng-1 ~]# firewall-cmd --get-services | grep -o 'ftp'  # 查看firewalld開放的協議
      ftp
      
      [root@wencheng-1 ~]# systemctl restart firewalld
      
      • 3.1 匿名開放模式:任何人都可以無需密碼驗證而直接登錄到FTP服務器,是一種最不安全的認證模式。
      [root@wencheng-1 ~]# vim /etc/vsftpd/vsftpd.conf
      # 全局配置
      write_enable=YES               # 本地系統用戶寫入權限;
      local_umask=022                # 本地用戶創建文件及目錄默認權限掩碼;
      dirmessage_enable=YES          # 打印目錄顯示信息,通常用于用戶第一次訪問目錄時,信息提示;
      xferlog_enable=YES             # 啟用上傳/下載日志記錄; 
      connect_from_port_20=YES       # FTP使用20端口進行數據傳輸;
      xferlog_std_format=YES         # 日志文件將根據xferlog的標準格式寫入;
      listen=NO                      # Vsftpd不以獨立的服務啟動,通過Xinetd服務管理,建議改成YES;
      listen_ipv6=YES                # 啟用IPV6監聽;
      pam_service_name=vsftpd        # 登錄FTP服務器,依據/etc/pam.d/vsftpd中內容進行認證;
      userlist_enable=YES            # Vsftpd.user_list和ftpusers配置文件里用戶禁止訪問FTP;
      tcp_wrappers=YES               # 設置vsftpd與tcp wrapper結合進行主機的訪問控制,Vsftpd服務器檢查/etc/hosts.allow 和/etc/hosts.deny中的設置,
                         來決定請求連接的主機,是否允許訪問該FTP服務器。
      
      # 本地用戶配置
      local_enable=YES               # 啟用本地系統用戶訪問;
      local_umask=022                # 本地用戶創建文件及目錄默認權限掩碼;
      local_root=/data/ftpdata    # 修改本地用戶登錄時訪問的目錄路徑
      
      # 匿名用戶訪問配置(最大權限)
      anonymous_enable=YES           # 開啟匿名用戶訪問;
      anon_umask=022          # 匿名用戶上傳文件的umask值
      anon_upload_enable=YES      # 允許匿名用戶上傳文件
      anon_mkdir_write_enable=YES   # 允許匿名用戶創建目錄
      anon_other_write_enable=YES     # 允許匿名用戶修改目錄名稱或刪除目錄
      anon_root=/data/ftpdata      # 修改匿名用戶登錄時訪問的目錄路徑
      
      注:工作中,匿名用戶只是只讀訪問,寫的權限也沒有的。
      
      [root@wencheng-1 ~]# ls -l /data/ftpdata
      drwxr-xr-x. 2 root root 18 Mar 25 16:26 ftppub
      [root@wencheng-1 ~]# ls -ld /data/ftpdata
      drwxr-xr-x. 3 root root 17 Mar 25 14:53 /data/ftpdata
      
      # 修改目錄權限
      [root@wencheng-1 ~]# chmod o+w /data/ftpdata/ftppub
      # 修改目錄屬主
      [root@wencheng-1 ~]# chown ftp /data/ftpdata/ftppub/ -R
      [root@wencheng-1 ~]# ls -ld /data/ftpdata/ftppub/
      drwxr-xrwx. 2 ftp root 18 Mar 25 16:26 /data/ftpdata/ftppub
      
      [root@wencheng-1 ~]# systemctl restart vsftpd
      

       3.1.1 匿名訪問測試。

      Win10測試訪問ftp路徑。

          

       并能執行上傳/下載/刪除操作。

           

      FTP服務端查看。

          

      • 3.2 本地用戶模式:是通過Linux系統本地的賬戶密碼信息進行認證的模式。如果被黑客破解了賬戶信息,就可以暢通無阻地登錄FTP服務器,從而完全控制整臺服務器。

         a.將anonymous_enable=YES改為NO,即關閉了匿名模式,此時就不能在使用匿名模式登陸了。

         b.另外前面新加的與匿名配置參數可以保留,也可以直接刪除,只要總開關anonymous_enable關閉了就禁用了匿名登錄。

      [root@wencheng-1 ~]# vim /etc/vsftpd/vsftpd.conf
      # 全局配置
      write_enable=YES
      dirmessage_enable=YES
      xferlog_enable=YES
      connect_from_port_20=YES
      xferlog_std_format=YES
      listen=NO
      listen_ipv6=YES
      pam_service_name=vsftpd
      userlist_enable=YES
      tcp_wrappers=YES
      
      # 本地用戶配置
      local_enable=YES
      local_umask=022
      local_root=/data/ftpdata
      
      # 匿名用戶設置
      anonymous_enable=NO    # 僅修改此項為NO
      anon_umask=022
      anon_upload_enable=YES
      anon_mkdir_write_enable=YES
      anon_other_write_enable=YES
      anon_root=/data/ftpdata
      
      [root@wencheng-1 ~]# systemctl restart vsftpd
      

      3.2.1 此時已需要賬號密碼登錄。

          

      3.2.2 添加一個ftp用戶并創建密碼,用來登錄ftp服務器。

      [root@wencheng-1 ~]# useradd ftpuser -s /sbin/nologin
      [root@wencheng-1 ~]# passwd ftpuser
      Changing password for user ftpuser.
      New password:
      BAD PASSWORD: The password is shorter than 8 characters
      Retype new password:
      passwd: all authentication tokens updated successfully.
      
      [root@wencheng-1 ~]# grep ftpuser /etc/passwd
      ftpuser:x:1000:1000::/home/ftpuser:/sbin/nologin
      

       3.2.3 再次嘗試訪問ftppub目錄。

          

          

      • 3.3 虛擬用戶模式:需要為FTP服務單獨 建立用戶數據庫文件,虛擬出用來進行口令驗證的賬戶信息,而這些賬戶信息在 服務器系統中實際上是不存在的,僅供 FTP 服務程序進行認證使用。這樣,即使 黑客破解了賬戶信息也無法登錄服務器,從而有效降低了破壞范圍和影響。是三種模式中最安全的一種認證模式。

      Vsftpd虛擬用戶企業案例配置步驟如下:

      a.安裝Vsftpd虛擬用戶需用到的軟件及認證模塊:

      [root@wencheng-1 ~]# yum install pam* libdb-utils libdb* --skip-broken -y
      

       b.創建包含用戶信息的文件vuser.list(文件名字任意取),文件中奇數行表示賬號名,偶數行表示密碼。

      [root@wencheng-1 ~]# vim /etc/vsftpd/vuser.list
      vuser1
      123456
      vuser2
      123456
      

       c.生成Vsftpd虛擬用戶數據庫認證文件,設置權限700。

      [root@wencheng-1 ~]# db_load -T -t hash -f /etc/vsftpd/vuser.list /etc/vsftpd/vsftpd_login.db
      [root@wencheng-1 ~]# chmod 700 /etc/vsftpd/vsftpd_login.db
      

       d.配置PAM認證文件,/etc/pam.d/vsftpd行首加入如下兩行。

      [root@wencheng-1 ~]# cp /etc/pam.d/vsftpd /etc/pam.d/vsftpd_bak
      [root@wencheng-1 ~]# vim /etc/pam.d/vsftpd
      auth      required        pam_userdb.so  db=/etc/vsftpd/vsftpd_login
      account   required        pam_userdb.so  db=/etc/vsftpd/vsftpd_login
      

       e.所有Vsftpd虛擬用戶需要映射到一個系統用戶,該系統用戶不需要密碼,也不需要登錄,主要用于虛擬用戶映射使用。

      [root@wencheng-1 ~]# useradd -d /data/ftpdir -s /sbin/nologin ftpvuser  # /data/ftpdir 為虛擬用戶默認訪問目錄
      [root@wencheng-1 ~]# chmod -Rf /data/ftpdir/
      [root@wencheng-1 ~]# ls -ld /data/ftpdir/
      drwxr-xr-x. 2 ftpvuser ftpvuser 76 Mar 29 23:51 /data/ftpdir/
      

       f.創建虛擬用戶各自的配置文件

       假設我們要區別對待vuser1和vuser2,只允許vuser1查看文件,而允許vuser2上傳、創建、修改、查看、刪除文件。這種需求在企業真實環境中是常見的。

      [root@wencheng-1 ~]# mkdir -p /etc/vsftpd/vsftpd_users_conf
      [root@wencheng-1 ~]# cd /etc/vsftpd/vsftpd_users_conf
      [root@wencheng-1 vsftpd_users_conf]# touch vuser1
      [root@wencheng-1 vsftpd_users_conf]# vim vuser2
       anon_upload_enable=YES
       anon_mkdir_write_enable=YES
       anon_other_write_enable=YES
      

      g.修改配置文件/etc/vsftpd/vsftpd.conf。

      [root@wencheng-1 ~]# vim /etc/vsftpd/vsftpd.conf
      # 全局配置
      write_enable=YES
      dirmessage_enable=YES
      xferlog_enable=YES
      connect_from_port_20=YES
      xferlog_std_format=YES
      listen=NO
      listen_ipv6=YES
      pam_service_name=vsftpd
      userlist_enable=YES
      tcp_wrappers=YES
      
      # 本地用戶配置
      local_enable=YES
      local_umask=022
      #local_root=/data/ftpdata
      
      # 虛擬用戶設置
      anonymous_enable=NO    # 禁止匿名開放模式
      guest_enable=YES      # 開啟虛擬用戶模式
      guest_username=ftpvuser  # 映射虛擬用戶至系統用戶ftpvuser
      allow_writeable_chroot=YES  # 允許對禁錮的FTP根目錄執行寫入操作,而且不拒絕用戶的登錄請求
      user_config_dir=/etc/vsftpd/vsftpd_users_conf   # 設置虛擬用戶配置文件所在的目錄
      
      [root@wencheng-1 ~]# systemctl restart vsftpd
      

      測試通過Windows10客戶端資源管理器訪問登錄。

      [root@wencheng-1 ~]# echo 11 > /data/ftpdir/Vfire1
      [root@wencheng-1 ~]# echo 22 > /data/ftpdir/Vfire2
      [root@wencheng-1 ~]# echo 33 > /data/ftpdir/Vfire3
      [root@wencheng-1 ~]# ls /data/ftpdir/
      Vfire1  Vfire2  Vfire3
      

      客戶端操作步驟

      測試賬號:vuser1;密碼:123456  

         

       無法執行刪除操作。

          

       測試賬號:vuser2;密碼:123456

          

       刪除成功。

          

       至此,已實現vsftpd服務的三種認證模式。

       

      posted @ 2021-06-28 09:03  講文張字  閱讀(1204)  評論(2)    收藏  舉報
      返回頂部
      主站蜘蛛池模板: 国产果冻豆传媒麻婆| 无码人妻精品一区二区三区下载| 欧美最新精品videossexohd| 日韩在线视频一区二区三| 亚洲精品码中文在线观看| 亚洲国产精品一区二区久| 溧水县| 亚洲男人的天堂网站| 日产国产一区二区不卡| 最近中文字幕完整版2019| 国产熟睡乱子伦视频在线播放 | 视频一区二区 国产视频| 与子乱对白在线播放单亲国产| 国产卡一卡二卡三免费入口| 亚洲一二三四区中文字幕| 精品综合一区二区三区四区 | 精品一区二区三区自拍图片区| 日韩av熟女人妻一区二| 中文国产人精品久久蜜桃| 国产高潮又爽又刺激的视频| 精品国产精品中文字幕| 给我播放片在线观看| 久久精品夜夜夜夜夜久久 | 日韩a∨精品日韩在线观看| 变态另类视频一区二区三区| 成在人线av无码免费高潮水老板| 国产首页一区二区不卡| 美女人妻激情乱人伦| 忘忧草www日本韩国| 一本色道久久东京热| 在线观看热码亚洲av每日更新| 亚洲爆乳WWW无码专区| yy111111少妇无码影院| 国产在线无码精品无码| 国产精品夫妇激情啪发布| 日本极品少妇videossexhd| 玖玖在线精品免费视频| 韩国精品一区二区三区在线观看| 公天天吃我奶躁我的在| 日韩人妻无码精品久久| 亚洲精品国产自在现线最新|