1. 程式人生 > >部署FTP服務

部署FTP服務

基於 功能 ron centos intern cmd 18C win size

FTP簡介
  • FTP 是File Transfer Protocol(文件傳輸協議)的英文簡稱,而中文簡稱為“文傳協議”。它是典型的C/S結構的應用層協議需要從服務端軟件、客戶端軟件兩個部分實現文件傳輸功能。
    在FTP的使用當中,用戶經常遇到兩個概念:"下載"(Download)和"上傳"(Upload)。"下載"文件就是從遠程主機拷貝文件至自己的計算機上;"上傳"文件就是將文件從自己的計算機中拷貝至遠程主機上。用Internet語言來說,用戶可通過客戶機程序向(從)遠程主機上傳(下載)文件
  • FTP服務器默認使用TCP協議的20、21端口,20端口用於建立數據連接,並傳輸文件數據。21端口用來建立控制連接,並傳輸FTP控制命令。

安裝部署FTP服務、

  • 匿名訪問FTP
  • Redhat6.5 上安裝

    # mount /dev/cdrom /mnt    //掛載CDROM
    # rpm -ivh /mnt/Packages/vsftpd-2.2.2-11.el6_4.1.x86_64.rpm
  • CentOS7 上安裝

    # yum install vsftpd -y
    # systemctl stop firewalld
    # setenforce 0
    # vim /etc/vsftpd/vsftpd.conf           //配置文件開啟匿名的權限
    anon_upload_enable=yes         # 號去掉   上傳權限
    anon_mkdir_write_enable=yes    # 號去掉   創建寫入權限
    anon_other_write_enable=yes
    chroot_local_user=YES        //禁錮在組目錄
    # chmod 777 /var/ftp/pub/     
    # systemctl start vsftpd   //開啟服務

技術分享圖片

  • windows上訪問FTP的目錄

打開我的電腦 路徑輸入:ftp://192.168.200.131/pub/

技術分享圖片技術分享圖片技術分享圖片

  • 基於本地用戶登錄

    # vim /etc/vsftpd/vsftpd.conf
    anonymous_enable=NO    //關閉匿名登錄
    local_enable=YES
    write_enable=YES
    local_umask=077
    chroot_local_user=YES
    local_root=/var/ftp    //末尾加入目錄
    # systemctl restart vsftpd
  • windows上訪問FTP的目錄

打開我的電腦 路徑輸入:ftp://192.168.200.131/pub/

技術分享圖片技術分享圖片

  • 使用user_list用戶列表文件

  • user_list黑名單使用

    # vim /etc/vsftpd/user_list    //添加想要禁止訪問ftp的用戶
    test    
    # vim /etc/vsftpd/vsftpd.conf
    userlist_enable=YES   (沒有#時 在user_list 裏的帳號沒法訪問)  
    # systemctl restart vsftpd
  • user_list白名單使用

    # vim /etc/vsftpd/user_list    //添加想要允許訪問ftp的用戶
    test
    vi /etc/vsftpd/vsftpd.conf
    userlist_enable=YES     (沒有#時 在user_list 裏的帳號沒法訪問)
    userlist_deny=NO     (但加入這行後 只有user_list 裏的帳號才能訪問)
    # systemctl restart vsftpd
  • 建立虛擬用戶賬戶使用FTP

    # cd /etc/vsftpd
    # vi /etc/vsftpd/vuser
    lisa       //奇數行為用戶
    123123     //偶數行為密碼
    tom
    123123
    # db_load -T -t hash -f vuser vuser.db   //轉換成數據庫文件
    # chmod 600 vuser
    # chmod 600 vuser.db   //不讓別人看見裏面的信息
    # useradd -d /opt/vuser -s /sbin/nologin vuser
    //創建一個用戶為vuser 指定家目錄/opt/vuser 並不使用shell登陸
    # mkdir /opt/vuser
    # chmod 755 /opt/vuser
  • 編輯pam認證模塊支持虛擬用戶的登陸

    vi /etc/pam.d/vsftpd.vu
    auth required pam_userdb.so db=/etc/vsftpd/vuser 
    account required pam_userdb.so db=/etc/vsftpd/vuser 
    //此處兩個文件vuser並不是普通文件而是剛才創建的vuser.db數據庫文件,此處必須省略不寫
    
    # vi /etc/vsftpd/vsftpd.conf
    #pam_service_name=vsftpd  加#註釋
    添加↓↓↓
    guest_enable=YES
    guest_username=vuser
    pam_service_name=vsftpd.vu  //開啟虛擬用戶,使用pam認證登陸
    # systemclt restart vsftpd  //重啟服務
  • 單獨用戶

    # vi /etc/vsftpd/vsftpd.conf
    user_config_dir=/etc/vsftpd/vu_dir   //添加單獨用戶配置目錄
    # mkdir vu_dir        //創建文目錄
    # vi /etc/vsftpd/vu_dir/tom //在配置文件夾裏創建用戶配置文件
    anon_umask=022  //指定上傳文件的權限 (022的意思是反的  644)
  • windows端cmd中操作命令

ftp 192.168.200.131 (訪問ftp) (輸入賬戶密碼 匿名訪問時 輸入ftp 回車)
by 退出
e: 切換 E盤
cd pub
get test.txt 下載
put tes.txt 上傳 (設置權限才能上傳)

部署FTP服務