centos

centos如何限制sftp访问用户

小樊
88
2025-02-13 10:40:49
栏目: 智能运维

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

  1. 创建一个新用户(如果需要)

    sudo adduser restricteduser
    sudo passwd restricteduser
    
  2. 安装并配置OpenSSH服务器: 确保OpenSSH服务器已安装并正在运行。

    sudo yum install openssh-server
    sudo systemctl start sshd
    sudo systemctl enable sshd
    
  3. 编辑SSH配置文件: 打开SSH配置文件 /etc/ssh/sshd_config

    sudo vi /etc/ssh/sshd_config
    
  4. 限制SFTP访问: 在 sshd_config 文件中,找到或添加以下配置项:

    # 限制用户只能使用SFTP
    Match User restricteduser
        ChrootDirectory /home/restricteduser
        ForceCommand internal-sftp
        AllowTcpForwarding no
        X11Forwarding no
    

    解释:

    • Match User restricteduser:指定只对 restricteduser 用户应用这些规则。
    • ChrootDirectory /home/restricteduser:将用户的根目录限制在其主目录下,防止其访问其他目录。
    • ForceCommand internal-sftp:强制用户使用SFTP,而不是SSH shell。
    • AllowTcpForwarding noX11Forwarding no:禁止TCP和X11转发,进一步提高安全性。
  5. 设置Chroot目录的权限: 确保Chroot目录的权限设置正确,以便SSH可以访问它。

    sudo chown root:root /home/restricteduser
    sudo chmod 755 /home/restricteduser
    
  6. 创建用户的主目录并设置权限: 确保用户的主目录存在并且权限设置正确。

    sudo mkdir -p /home/restricteduser
    sudo chown restricteduser:restricteduser /home/restricteduser
    
  7. 重启SSH服务: 使配置生效,重启SSH服务。

    sudo systemctl restart sshd
    

完成以上步骤后,restricteduser 用户将只能通过SFTP访问其主目录,而无法通过SSH shell访问系统。

请注意,这些步骤假设您已经有一个名为 restricteduser 的用户。如果没有,请根据需要创建一个新用户。

0
看了该问题的人还看了