ubuntu

ubuntu如何限制sftp用户访问

小樊
51
2025-09-17 08:58:37
栏目: 智能运维

在Ubuntu系统中,您可以通过配置SSH和SFTP来限制用户的访问。以下是一些步骤,可以帮助您实现这一目标:

  1. 创建一个新的用户组(可选): 如果您希望将SFTP用户与其他系统用户分开,可以创建一个新的用户组。

    sudo groupadd sftpusers
    
  2. 创建一个新用户: 创建一个新用户并将其添加到sftpusers组中。

    sudo adduser username
    sudo usermod -aG sftpusers username
    
  3. 设置用户密码: 为新用户设置一个密码。

    sudo passwd username
    
  4. 配置SSH: 编辑SSH配置文件以限制SFTP用户的访问。

    sudo nano /etc/ssh/sshd_config
    

    在文件中找到或添加以下内容:

    # 只允许SFTP连接
    Subsystem sftp internal-sftp
    
    # 限制用户访问自己的主目录
    Match Group sftpusers
        ChrootDirectory %h
        ForceCommand internal-sftp
        AllowTcpForwarding no
        X11Forwarding no
    

    这些设置将确保SFTP用户只能访问他们自己的主目录,并且不能进行SSH隧道或X11转发。

  5. 设置主目录权限: 确保用户的主目录权限设置正确,以便SSH可以正确地进行chroot。

    sudo chown root:root /home/username
    sudo chmod 755 /home/username
    
  6. 创建用户的主目录: 如果用户的主目录不存在,需要手动创建。

    sudo mkdir -p /home/username
    sudo chown username:sftpusers /home/username
    sudo chmod 755 /home/username
    
  7. 重启SSH服务: 使配置生效。

    sudo systemctl restart sshd
    

完成这些步骤后,SFTP用户将只能访问他们自己的主目录,并且不能进行SSH隧道或X11转发。您可以根据需要进一步调整配置,例如添加更多的访问控制规则。

0
看了该问题的人还看了