linux如何禁止su命令

worktile 其他 276

回复

共3条回复 我来回复
  • worktile的头像
    worktile
    Worktile官方账号
    评论

    在Linux系统中,su命令用于切换用户身份,并进入到目标用户的环境中。有时候,为了加强系统的安全性,我们可能需要禁止su命令的使用。下面为您介绍两种常见的禁止su命令的方法。

    方法一:修改PAM配置文件
    1. 打开终端,使用root用户登录系统。
    2. 编辑PAM配置文件,执行以下命令:
    “`
    vi /etc/pam.d/su
    “`
    3. 注释掉以下两行代码:
    “`
    #auth required pam_wheel.so use_uid
    #auth required pam_wheel.so group=admin
    “`
    这样可以禁止只有在admin组中的用户才能使用su命令。
    4. 保存并关闭文件:按下Esc键,输入:wq,然后按下回车键。
    5. 重启系统或重新加载PAM配置文件,执行以下命令:
    “`
    systemctl restart systemd-logind
    “`

    “`
    systemctl restart systemd-user-sessions
    “`

    方法二:修改su命令的权限
    1. 打开终端,使用root用户登录系统。
    2. 执行以下命令,修改su命令的权限:
    “`
    chmod 750 /bin/su
    “`
    这样可以仅允许root用户和所属组的用户使用su命令,其他用户将无法使用。

    无论采用哪种方法,都应该明确禁止su命令的目的和风险,确保系统的安全性和稳定性。禁止su命令可能会影响到系统管理员的操作,请谨慎选择并妥善管理系统权限。

    2年前 0条评论
  • fiy的头像
    fiy
    Worktile&PingCode市场小伙伴
    评论

    在Linux系统中,su命令允许用户切换到其他用户账户,包括root账户。如果你想禁止su命令,可以采取以下方法:

    1.修改su命令的权限:你可以将su命令的权限设置为只有root用户能够执行。可以使用chmod命令修改su的权限。执行以下命令:
    “`shell
    sudo chmod 700 /bin/su
    “`
    这将使su命令的权限设置为只有root用户可以执行,其他用户将无法使用su命令切换用户。

    2.修改sudoers文件:在sudoers文件中,你可以配置哪些用户能够使用sudo命令,从而切换到root账户。可以使用visudo命令编辑sudoers文件。执行以下命令:
    “`shell
    sudo visudo
    “`
    在打开的文件中,找到下面这行代码:
    “`shell
    # Allow members of group sudo to execute any command
    %sudo ALL=(ALL:ALL) ALL
    “`
    修改为:
    “`shell
    # Allow members of group sudo to execute any command
    %sudo ALL=(ALL:ALL) !/bin/su
    “`
    保存并退出文件,这将禁止sudo组的用户使用su命令。

    3.禁用root账户:在Linux系统中,root账户是最高权限的账户,如果你禁用了root账户,就无法使用su命令切换到root账户。你可以使用以下命令禁用root账户:
    “`shell
    sudo passwd -l root
    “`
    这将锁定root账户,使其无法登录。

    4.设置PAM模块:PAM(Pluggable Authentication Modules)是一个用于验证用户身份的系统库,你可以使用PAM模块来禁止su命令。编辑PAM配置文件/etc/pam.d/su,在文件中添加以下行:
    “`shell
    auth sufficient pam_rootok.so
    “`
    保存并退出文件,这将禁止其他用户使用su命令切换到root账户。

    5.使用访问控制列表(ACL):ACL是一种访问权限控制的方法,你可以使用ACL来限制用户对su命令的访问。首先,启用ACL功能:
    “`shell
    sudo mount -o remount,acl /
    “`
    然后,使用以下命令为su命令设置访问控制列表:
    “`shell
    sudo setfacl -m u:用户名:0 /bin/su
    “`
    将”用户名”替换为你要限制访问su命令的用户账户。这将使指定用户无法执行su命令。

    请注意,在执行以上操作之前,请确保你对系统非常熟悉,并且理解禁用su命令的潜在风险和影响。

    2年前 0条评论
  • 不及物动词的头像
    不及物动词
    这个人很懒,什么都没有留下~
    评论

    禁止su命令是为了增加系统的安全性,防止未经授权的用户直接切换到root账户。下面是几种禁止su命令的方法。

    方法一:更改权限文件

    1. 使用root用户登录系统。

    2. 打开终端,并输入以下命令来编辑文件/etc/pam.d/su:

    “`
    vi /etc/pam.d/su
    “`

    3. 定位到文件的第一行,将其中的内容修改为:

    “`
    auth required pam_wheel.so
    “`

    4. 保存并关闭文件。

    此时,只有在wheel组中的用户才能使用su命令切换到root账户。

    5. 添加用户到wheel组中:

    “`
    usermod -aG wheel 用户名
    “`

    6. 重新登录系统。

    方法二:修改sudoers文件

    1. 使用root用户登录系统。

    2. 打开终端,并输入以下命令来编辑sudoers文件:

    “`
    visudo
    “`

    3. 定位到文件的第一行,找到如下配置行:

    “`
    ## Allows people in group wheel to run all commands
    %wheel ALL=(ALL) ALL
    “`

    4. 注释掉上述行的开头,使其变为:

    “`
    ## Disable su command
    # %wheel ALL=(ALL) ALL
    “`

    5. 保存并关闭文件。

    此时,只有在wheel组中的用户才能使用sudo命令切换到root账户。

    6. 重新登录系统。

    方法三:更改su命令的权限

    1. 使用root用户登录系统。

    2. 打开终端,并输入以下命令来找到su命令的路径:

    “`
    which su
    “`

    3. 使用chmod命令修改su命令的权限,将其变为只有root用户可执行:

    “`
    chmod 700 /usr/bin/su
    “`

    4. 这将禁止其他用户使用su命令。

    方法四:使用SELinux

    1. 使用root用户登录系统。

    2. 打开终端,并输入以下命令来启用SELinux:

    “`
    setenforce 1
    “`

    3. 编辑SELinux策略文件:

    “`
    vi /etc/selinux/config
    “`

    4. 将SELINUX的值改为enforcing:

    “`
    SELINUX=enforcing
    “`

    5. 保存并关闭文件。

    此时,系统会禁止非特权用户使用su命令。

    6. 重新启动系统。

    注意:在进行上述操作之前,请务必备份相关文件,以防止因操作错误导致系统不稳定或无法启动。并且,禁止su命令可能会对系统的正常操作造成一定的影响,请在操作前谨慎考虑。

    2年前 0条评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部