温馨提示×

Ubuntu SFTP如何设置目录权限

小樊
50
2025-09-11 09:07:28
栏目: 智能运维

在Ubuntu上设置SFTP目录权限需结合用户权限、目录结构及SSH配置,以下是关键步骤:

  1. 创建专用用户和组

    sudo groupadd sftpusers  # 创建用户组  
    sudo useradd -m sftpuser -g sftpusers  # 创建用户并加入组  
    sudo passwd sftpuser  # 设置密码  
    
  2. 配置SFTP根目录权限

    • 根目录(如/home/sftpuser:所有者为root,权限755,限制用户只能访问自身目录。
      sudo mkdir -p /home/sftpuser  
      sudo chown root:root /home/sftpuser  
      sudo chmod 755 /home/sftpuser  
      
    • 用户子目录(如/home/sftpuser/uploads:所有者为sftpuser,组为sftpusers,权限775(允许组内用户读写)。
      sudo mkdir /home/sftpuser/uploads  
      sudo chown sftpuser:sftpusers /home/sftpuser/uploads  
      sudo chmod 775 /home/sftpuser/uploads  
      
  3. 启用Chroot限制(可选)
    编辑/etc/ssh/sshd_config,添加以下内容限制用户仅能访问其家目录:

    Match Group sftpusers  
        ChrootDirectory %h  
        ForceCommand internal-sftp  
        AllowTcpForwarding no  
        X11Forwarding no  
    

    重启SSH生效:

    sudo systemctl restart ssh  
    
  4. 验证权限
    使用SFTP客户端连接,确认只能访问指定目录且无法越权操作:

    sftp sftpuser@your_server_ip  
    

注意:若需更严格的安全控制,可启用SELinux或AppArmor限制SFTP访问范围。

0