1. 程式人生 > >linux中ftp服務的搭建與介紹

linux中ftp服務的搭建與介紹

cati 不錯 創建 不同 遇到 需要 rate c2c 表示

  • FTP 是File Transfer Protocol(文件傳輸協議)的英文簡稱,而中文簡稱為“文傳協議”。用於Internet上的控制文件的雙向傳輸。同時,它也是一個應用程序(Application)。基於不同的操作系統有不同的FTP應用程序,而所有這些應用程序都遵守同一種協議以傳輸文件。在FTP的使用當中,用戶經常遇到兩個概念:"下載"(Download)和"上傳"(Upload)。
  • 安裝vsftp(vsftp應該是一款不錯的ftp軟件。)
    yum search vsftp
    技術分享圖片
    yum install vsftpd -y
    對vsftp進行安裝
    技術分享圖片
    systemctl start vsftpd 啟動vsftpd服務
    systemctl status vsftpd 查看vsftpd狀態
    技術分享圖片
    3.設置防火墻
    安裝ftp服務
    yun install ftp -y
    技術分享圖片
    firewall-cmd --permanent --add-service=ftp 在防火墻中添加ftp服務
    firewall-cmd --reload 重新加載參數
    技術分享圖片
    firewall-cmd --list-all 顯示防火墻服務列表
    技術分享圖片
    4.ftp搭建成功
    技術分享圖片
  • 5.ftp配置文件修改
    配置文件: /etc/vsftpd/vsftpd.conf 每次修改配置文件後需要重新啟動服務才能生效
    systemctl restart vsftpd.service

    1.anonymous_enable=YES|NO #匿名用戶可以|不可以登陸
    技術分享圖片
    技術分享圖片 匿名用戶無法登陸
    2.local_enable=YES|NO #本地用戶可以|不可以登陸
    技術分享圖片
    技術分享圖片
    技術分享圖片

    3.write_enable=YES|NO ##ftp是否對登陸用戶可寫
    技術分享圖片
    技術分享圖片 服務未開啟
    4.報錯id解析
    500 ##文件系統權限過大
    530 ##用戶認證失敗
    550 ##服務本身功能未開啟
    553 ##本地文件系統權限過小
    5.匿名用戶上傳
    write_enable=YES
    anon_upload_enable=YES
    chgrp ftp /var/ftp/pub
    chmod 777 /var/ftp/pub(一定使用者需要有寫權限)
    技術分享圖片
    技術分享圖片 匿名用戶可以上傳文件

    6.匿名用戶家目錄修改(匿名用戶家目錄默認在/var/ftp)
    anon_root=/目錄地址
    技術分享圖片
    在新的家目錄裏新建一個文件夾 file1
    技術分享圖片 匿名用戶登陸後驗證 file1 則該家目錄被修改
    7.匿名用戶上傳文件默認權限修改
    技術分享圖片
    8.anon_mkdir_write_enable=YES|NO #匿名用戶創建目錄
    技術分享圖片 服務未開啟
    技術分享圖片
    技術分享圖片 目錄被成功建立
    9.anon_world_readable_only=NO #匿名用戶下載,設定參數為no,表示匿名用戶可以下載
    技術分享圖片 服務未開啟
    技術分享圖片
    技術分享圖片 下載成功
    10.anon_other_write_enable=YES|NO #匿名用戶刪除
    技術分享圖片
    技術分享圖片
    技術分享圖片 服務開啟 刪除成功
    11.anon_max_rate=102400 #匿名用戶最大上傳速率 單位為字節
    dd if=/dev/zero of=/mnt/redfile bs=1M count=1000 截取daxiao大小為1M的數據存在redfile中
    技術分享圖片 上傳平均速度為102400
    12.匿名用戶最大鏈接數
    技術分享圖片
    技術分享圖片 這裏表示連接數最多為兩個
    13.匿名用戶修改上傳文件所有者
    技術分享圖片
    chown_uploads=YES
    chown_username=xxxx(系統已存在的用戶名)
    技術分享圖片
    14.匿名用戶修改上傳文件權限
    技術分享圖片
    技術分享圖片 上傳的文件權限被更改
    本地用戶
    local_enable=YES|NO ##本地用戶登陸限制
    write_enable=YES|NO ##本地用戶寫權限
    local_root=/絕對路徑 本地用戶家目錄修改,默認登陸用戶家目錄
    技術分享圖片
    技術分享圖片 本地用戶的登陸與寫的權限開啟
    技術分享圖片 修改本地用戶的家目錄為/var/ftp
    技術分享圖片
    local_umask=xxx #本地用戶上傳文件的umask值
    技術分享圖片
    技術分享圖片
    限制本地用戶瀏覽/目錄
    所有用戶被鎖定到自己家目錄中
    chroot_local_user=YES(此參數與用戶寫權限沖突,所以將用戶所有寫權限刪除,由於此目錄下只有擁有者有寫權限,所以只需要把用戶寫權限減去。但是如果需要上傳文件,則可能會出現553報錯,建議減去用戶權限後做完實驗即可恢復。)
    chmod u-w /home/*
    技術分享圖片
    技術分享圖片
    關閉後成功切換到 /
    技術分享圖片
    用戶黑名單
    chroot_local_user=NO
    chroot_list_enable=YES
    chroot_list_file=/etc/vsftpd/chroot_list
    在/etc/vsftpd/chroot_list名單的用戶被鎖定在自己家目錄中
    技術分享圖片
    技術分享圖片
    技術分享圖片
    技術分享圖片

    用戶白名單
    chroot_local_user=YES
    chroot_list_enable=YES
    chroot_list_file=/etc/vsftpd/chroot_list
    不在/etc/vsftpd/chroot_list名單的用戶被鎖定在自己家目錄中
    技術分享圖片
    技術分享圖片

    技術分享圖片 bruceiter 不在chroot_list中 則訪問不了/目錄

    限制本地用戶登陸
    vim /etc/vsftpd/ftpusers ##用戶黑名單
    vim /etc/vsftpd/user_list ##用戶臨時黑名單
    技術分享圖片
    技術分享圖片

    用戶白名單設定
    userlist_deny=NO ##將本來的名單權限打開,並且關閉黑名單權限,就是剩余白名單權限
    /etc/vsftpd/user_list ##設定可以登陸ftp的用戶
    技術分享圖片 NO為打開
    技術分享圖片
    技術分享圖片 開啟後所有用戶登陸不了
    技術分享圖片
    技術分享圖片 在 /etc/vsftpd/user_lis 添加後登陸成功

    ftp虛擬用戶的設定
    vim /etc/vsftpd/userfile ##新建虛擬用戶賬戶密碼信息
    user1
    2233
    user2
    2233
    user3
    2233
    db_load -T -t hash -f /etc/vsftpd/userfile /etc/vsftpd/userfile.db ##將新建的用戶賬戶密碼文件加密
    vim /etc/pam.d/user ##編寫驗證賬戶密碼若驗證不通過拒絕,驗證軟件,被驗證核對的文件
    account required pam_userdb.so db=/etc/vsftpd/userfile(為之前建立的賬戶密碼信息文件)
    auth required pam_userdb.so db=/etc/vsftpd/userfile
    vim /etc/vsftpd/vsftpd.conf
    pam_service_name=user ##驗證的文件是從/etc/pam.d/user決定的,與其同名
    guest_enable=YES ##設定虛擬用戶登陸
    guest_username=ftp ##登陸軟件是ftp
    登陸使用 -u是由於虛擬用戶與本地用戶都是使用ftp這個用戶的身份,ftp用戶是安裝時就生成的。

    虛擬帳號家目錄獨立設定
    vim /etc/vsftpd/vsftpd.conf
    local_root=/ftphome/$USER ##區分虛擬賬戶家目錄,但是由於$USER是腳本用法,所以用下一句來告訴ftp,$USER的用法與腳本中的$USER一樣
    user_sub_token=$USER
    ##可以在每個虛擬用戶家目錄下建立不同的文件作為標示。
    mkdir /ftphome/user1/user1file -p
    mkdir /ftphome/user2/user2file -p
    mkdir /ftphome/user3/user3file -p

    獨立設置配置文件
    vim /etc/vsftpd/vsftpd.conf
    user_config_dir=/etc/vsftpd/userconf
    並且註釋掉關於匿名用戶的語句。在/etc/vsftpd/userconf/user1中添加關於匿名用戶配置語句,重啟服務,以用戶1的身份鏈接出現創建文件,創建成功之後,若用戶2創建不成功,則說明二者獨立設置配置文件。但是應註意要把之前的配置文件關於匿名用戶全部註釋,否則默認讀取原來的配置文件,沒有找到權限就找自己的配置文件。

    linux中ftp服務的搭建與介紹