溫馨提示×

SFTP如何設置權限

小樊
45
2025-09-05 03:50:28
欄目: 編程語言

SFTP權限設置主要涉及用戶、目錄及SSH配置,核心步驟如下:

  1. 創建專用用戶和組

    sudo groupadd sftpusers  # 創建SFTP用戶組  
    sudo adduser sftpuser -M -s /sbin/nologin  # 創建用戶,禁止SSH登錄  
    sudo usermod -aG sftpusers sftpuser  # 將用戶加入組  
    
  2. 配置SSH限制權限
    編輯 /etc/ssh/sshd_config,添加以下內容:

    Subsystem sftp internal-sftp  # 啟用SFTP子系統  
    Match Group sftpusers  # 針對SFTP用戶組配置  
        ChrootDirectory %h  # 限制用戶根目錄為用戶主目錄  
        ForceCommand internal-sftp  # 強制僅能使用SFTP  
        AllowTcpForwarding no  
        X11Forwarding no  
    
    • ChrootDirectory 需確保主目錄權限為 root:root 且權限為 755,避免用戶越權。
  3. 設置目錄和文件權限

    • 主目錄:歸屬 root,權限 755(用戶不可修改主目錄本身)。
      sudo chown root:root /home/sftpuser  
      sudo chmod 755 /home/sftpuser  
      
    • 子目錄(如上傳目錄):歸屬用戶及組,權限 755(或 770 允許組內寫)。
      sudo mkdir /home/sftpuser/uploads  
      sudo chown sftpuser:sftpusers /home/sftpuser/uploads  
      sudo chmod 755 /home/sftpuser/uploads  # 或 770  
      
  4. 重啟SSH服務生效

    sudo systemctl restart sshd  
    
  5. 可選:啟用更細粒度權限控制

    • 使用ACL(訪問控制列表)為特定用戶分配權限:
      sudo setfacl -R -m u:sftpuser:rwx /home/sftpuser/specific_dir  
      
    • 通過 Match User 針對單個用戶單獨配置權限。

安全注意事項

  • 禁止SFTP用戶擁有主目錄的寫權限(防止修改系統文件)。
  • 定期檢查日志 /var/log/auth.log 監控異常登錄。

完成配置后,可通過 sftp sftpuser@服務器IP 測試連接及權限是否生效。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女