温馨提示×

怎样限制CentOS SSH用户权限

小樊
54
2025-09-01 15:35:36
栏目: 智能运维

要限制CentOS SSH用户的权限,您可以采用以下方法:

  1. 使用AllowUsersDenyUsers指令:

    /etc/ssh/sshd_config文件中,使用AllowUsersDenyUsers指令来指定允许或拒绝访问SSH的用户。例如,如果您只想允许用户user1和user2访问SSH,可以添加以下行:

    AllowUsers user1 user2
    

    如果您想拒绝特定用户访问SSH,可以使用DenyUsers指令:

    DenyUsers user3 user4
    

    在修改sshd_config文件后,记得重启SSH服务以使更改生效:

    sudo systemctl restart sshd
    
  2. 使用chroot环境:

    chroot环境可以将用户的根目录更改为受限的目录,从而限制用户访问系统中的其他文件和目录。要为特定用户设置chroot环境,请按照以下步骤操作:

    a. 安装必要的软件包:

    sudo yum install -y security-enhanced-lvm policycoreutils-python
    

    b. 创建一个新的目录,用于存放用户的chroot环境:

    sudo mkdir /home/user1_chroot
    

    c. 将用户的主目录移动到新创建的目录中:

    sudo usermod -d /home/user1_chroot -m user1
    

    d. 修改/etc/ssh/sshd_config文件,添加以下行:

    Match User user1
        ChrootDirectory /home/user1_chroot
        ForceCommand internal-sftp
    

    这将限制user1用户只能访问其主目录,并且只能使用SFTP。您可以根据需要修改这些设置。

    e. 重启SSH服务以使更改生效:

    sudo systemctl restart sshd
    
  3. 使用ForceCommand指令:

    /etc/ssh/sshd_config文件中,使用ForceCommand指令可以强制用户执行特定的命令或脚本。例如,如果您想限制用户只能运行一个名为restricted_shell.sh的脚本,可以添加以下行:

    Match User user1
        ForceCommand /path/to/restricted_shell.sh
    

    这将限制user1用户只能运行指定的脚本。请确保脚本具有可执行权限:

    chmod +x /path/to/restricted_shell.sh
    

    在修改sshd_config文件后,记得重启SSH服务以使更改生效:

    sudo systemctl restart sshd
    

通过以上方法,您可以有效地限制CentOS SSH用户的权限,提高系统的安全性。

0