Linux下搭建SFTP服務器

SFTP的好處不用多說,安全,簡單,便於管理(尤其在防火牆端口設置方面)。

Linux下配置SFTP非常簡單。


此例中要求:用戶ftpuser可以上傳數據至/media/data/shared/ftproot,不允許讀取和修改上級目錄的數據。不允許SSH登陸至服務器。


  • 創建用戶和組。指定用戶的home目錄爲/media/data/shared,shell爲/sbin/nologin, 隸屬於sftp_users組,併爲其創建密碼。

    wKiom1aCODSwFaxCAAA36D_ncd0982.png

  • 創建目錄,並修改權限:/media/data/shared/ftproot

    注意:ftpuser的home目錄的屬主和屬組改爲root,並且權限爲755。此時ftpuser用戶不具有寫入權限,也就不能上傳數據,可以在該目錄下創建一個可上傳的目錄,並修改它的屬主和屬組,使其具有寫入權限。

    wKioL1aCOMfSglgJAAAnlEqn4RM924.png


    • ChrootDirectory設置的目錄權限及其所有的上級文件夾權限,屬主和屬組必須是root;

    • ChrootDirectory設置的目錄權限及其所有的上級文件夾權限,只有屬主能擁有寫權限,也就是說權限最大設置只能是755

  • 修改配置文件。

    vim /etc/ssh/sshd_config    

UsePAM yes(確定該行沒有被註釋)
#Subsystem      sftp    /usr/libexec/openssh/sftp-server  #(註釋掉這行)
Subsystem       sftp    internal-sftp  #(這行指定使用sftp服務使用系統自帶的internal-sftp。)
Match Group     sftp_users  #(匹配sftp用戶所屬的組,也可用“Match User USERNAME”來匹配用戶)
    ChrootDirectory %h  #(非常重要!使用ChrootDirectory將用戶鎖定在自己的home目錄中,使其不可瀏覽上級目錄。並且該行一定要在“Match”語句下方!)

    

  • 重啓sshd.service。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章