1. 程式人生 > >Linux——在centos伺服器上搭建一個ftp服務

Linux——在centos伺服器上搭建一個ftp服務

安裝FTP服務

配置許可權配置 FTP 許可權

vsftpd 的配置目錄為 /etc/vsftpd:

  • vsftpd.conf 為主要配置檔案
  • ftpusers 配置禁止訪問 FTP 伺服器的使用者列表
  • user_list 配置使用者訪問控制

更改/etc/vsftpd/vsftpd.conf檔案

  • 阻止匿名訪問
    anonymous_enable=NO
  • 本地使用者登入
    local_enable=YES/NO(YES)
  • 本地使用者登入目錄
    local_root=/home/username
  • 登入使用者寫許可權
    write_enable=YES/NO(YES)
  • 切換根目錄
    chroot_local_user=YES
  • 登入使用者歡迎語
    ftpd_banner=Welcome to yangkui’s FTP server
  • 使用者目錄切換設定
    chroot_list_enable=YES/NO(NO)
    設定是否啟用chroot_list_file配置項指定的使用者列表檔案。預設值為NO。
    chroot_list_file=/etc/vsftpd.chroot_list

    用於指定使用者列表檔案,該檔案用於控制哪些使用者可以切換到使用者家目錄的上級目錄。
    chroot_local_user=YES/NO(NO)
    用於指定使用者列表檔案中的使用者是否允許切換到上級目錄。預設值為NO。
    通過搭配能實現以下幾種效果:
    • 當chroot_list_enable=YES,chroot_local_user=YES時,在/etc/vsftpd.chroot_list檔案中列出的使用者,可以切換到其他目錄;未在檔案中列出的使用者,不能切換到其他目錄。
    • 當chroot_list_enable=YES,chroot_local_user=NO時,在/etc/vsftpd.chroot_list檔案中列出的使用者,不能切換到其他目錄;未在檔案中列出的使用者,可以切換到其他目錄。
    • 當chroot_list_enable=NO,chroot_local_user=YES時,所有的使用者均不能切換到其他目錄。
    • 當chroot_list_enable=NO,chroot_local_user=NO時,所有的使用者均可以切換到其他目錄。

編輯完成後儲存配置,重新啟動 FTP 服務
service vsftpd restart

建立 FTP 使用者

  • 建立使用者admin
    useradd admin
  • 設定密碼
    echo "adminadmin" | passwd admin --stdin
    限制該使用者僅能通過 FTP 訪問
    usermod -s /sbin/nologin ftpuser
    建立使用者目錄
    /data/ftp 為主目錄, 該目錄不可上傳檔案
    /data/ftp/pub 檔案只能上傳到該目錄下

    mkdir -p /data/ftp/pub
    設定訪問許可權
    chmod a-w /data/ftp && chmod 777 -R /data/ftp/pub
    設定為使用者的主目錄
    usermod -d /data/ftp admin
    訪問FTP
  • 瀏覽器訪問
    ftp://ip
  • 資源管理器訪問
    ftp://admin:[email protected]

增加ftp使用者
userlist_deny=NO --新增
useradd -d /ftp_data -g ftp -s /sbin/nologin ftp_test
-d 設定使用者主目錄 ftp_test為使用者名稱
passwd ftp_test 設定使用者密碼
將使用者新增到 user_list准許訪問。
將使用者新增到chroot_list准許切換目錄