1. 程式人生 > >十三、FTP服務配置

十三、FTP服務配置

FTP解決檔案傳輸問題,FTP伺服器中的檔案按目錄結構進行組織,使用者通過網路伺服器建立連線。FTP僅基於TCP的服務,不支援UDP。

vsftp安裝

我們有兩個虛擬機器環境desktop和server,使用server做ftp服務端,desktop做客戶端用於登陸

  • 實驗環境部署
    1 .關閉server端firewall,selinux為disabled狀態,然後重啟虛擬機器

    [[email protected] ~] # systemctl stop firewalld
    [[email protected] ~] # vim /etc/sysconfig/selinux             ## 修改selinux檔案改為disabled
    [
    [email protected]
    ~] # reboot [[email protected] ~] # getenforce Disabled

    在這裡插入圖片描述
    2 .若不想關閉防火牆,可以為其新增ftp服務,selinux還必須是disabled狀態

    [[email protected] ~] # systemctl start firewalld
    [[email protected] ~] # firewall-cmd --permanent --add-service=ftp  ## 永久加入ftp服務
    success
    [[email protected] ~] # firewall-cmd --reload
    success
    [
    [email protected]
    ~] # firewall-cmd --list-all

    在這裡插入圖片描述
    server服務端IP為192.168.1.130;desktop客戶端IP為192.168.1.131

  • 服務端vsftp安裝,客戶端lftp安裝
    軟體安裝包:    vsftpd
    預設釋出目錄:   /var/ftp
    協議介面:      21/tcp
    服務配置檔案:   /etc/vsftpd/vsftpd.conf
    server服務端:

    [[email protected] ~] # yum install vsftpd -y                  ## 使用yum安裝vsftp
    [
    [email protected]
    ~] # systemctl start vsftpd [[email protected] ~] # systemctl enable vsftpd ## 使vsftp服務開機自啟動

    desktop客戶端:

    [[email protected] ~] # yum install lftp                       ## 客戶端使用lftp軟體連線ftp伺服器
    

    在這裡插入圖片描述

匿名使用者ftp設定

配置檔案路徑在服務端/etc/vsftpd/vsftpd.conf,先看看匿名使用者的一些設定

   anonymous_enable=YES|NO                           ## 匿名使用者登入限制
   
   write_enable=YES                                  ## 允許寫入
   anon_upload_enable=YES                            ## 允許上傳
   chgrp ftp /var/ftp/pub                            ## 修改家目錄pub的使用者組
   chmod 775 /var/ftp/pub                            ## 修改pub的許可權
   
   anon_root=/direcotry                              ## 修改匿名使用者家目錄位置
   anon_umask=xxx                                    ## 匿名使用者上傳檔案的預設許可權
   anon_mkdir_write_enable=YES|NO                    ## 是否允許建立目錄
   anon_world_readable_only=YES|NO                   ## 是否允許下載  NO表示允許下載
   anon_other_write_enable=YES|NO                    ## 是否允許刪除

   chown_uploads=YES                                 ## 使用者使用身份修改
   chown_username=student
   chown_uploads_mode=0644
   
   anon_max_rate=102400                              ## 最大上傳速率
   max_clients=2                                     ## 最大連結數
   
   #######光看配置當然不懂,往下看看例項中到底怎麼運用#######
  • 匿名使用者登陸限制

    anonymous_enable=YES|NO                           ## 匿名使用者登入限制
    

    在這裡插入圖片描述 在這裡插入圖片描述

  • 匿名使用者上傳檔案

    剛安裝好vsftp服務後,是不允許匿名使用者上傳檔案或目錄
    在這裡插入圖片描述

    #####配置檔案中加入#####
    write_enable=YES                                  ## 允許寫入
    anon_upload_enable=YES                            ## 允許上傳
    

    在這裡插入圖片描述
    在這裡插入圖片描述

  • 匿名使用者家目錄修改、下載、刪除

    #####配置檔案中加入#####
    anon_root=/home/anon                              ## 修改匿名使用者家目錄位置
    anon_umask=022                                    ## 匿名使用者上傳檔案的預設許可權
    anon_mkdir_write_enable=YES                       ## 允許建立目錄
    anon_world_readable_only=NO                       ## 允許下載
    anon_other_write_enable=YES                       ## 允許刪除
    ####下載目錄使用mirror dirname####
    

    在這裡插入圖片描述

  • 使用者使用身份修改

    chown_uploads=YES                                 ## 使用者使用身份修改
    chown_username=ben
    chown_uploads_mode=0644
    

    在這裡插入圖片描述
    在這裡插入圖片描述

  • 最大上傳速度

    dd if=/dev/zero of=/tmp/file bs=1M count=1000      ## 生成試驗檔案/tmp/file
    #####配置檔案中加入#####
    anon_max_rate=102400                               ## 最大上傳速率限制100kb左右
    

    在這裡插入圖片描述

本地使用者ftp設定

同在/etc/vsftpd/vsftpd.conf配置檔案中設定

local_enable=YES|NO		                             ##本地使用者登陸限制
write_enable=YES|NO		                             ##本地使用者寫許可權限制

local_root=/directory                                ## 修改本地使用者家目錄位置
local_umask=xxx                                      ## 本地使用者上傳檔案許可權

chroot_local_user=YES                                ## 限制本地使用者瀏覽,鎖定在自己家目錄中
chmod u-w /home/*
#####設定基本等同於上面匿名使用者使用設定,就不做過多介紹#####

使用者黑白名單設定

  • ftpusers

    /etc/vsftpd/ftpusers            注意             ## ftpusers不受任何配置影響,始終有效的黑名單
    

    在這裡插入圖片描述

  • user_list 臨時黑名單

    #####/etc/vsftpd/vsftpd.conf配置檔案中#####
    #當且僅當userlist_enable=YES時 , userlist_deny項才生效
    
    userlist_enable=YES , userlist_deny=YES時 , user_list是黑名單,所有出現的使用者拒絕登入
    userlist_enable=YES , userlist_deny=NO時 , user_list是白名單,僅出現的使用者允許登入,其他都拒絕登入