Linux中如何禁止普通用户使用su命令

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux中如何禁止普通用户使用su命令相关的知识,希望对你有一定的参考价值。

su ​​命令​​​是一个特殊的​​命令​​,它允许用户以另一个用户和组的身份运行命令。它还允许你切换到 root 帐户或另一个指定的用户帐户。

要切换到另一个用户帐户,用户可以从他们当前的登录会话中运行 su 命令,如下所示,用户可以通过su切换用户:

[bob@localhost ~]$ su - user01
Password:

Linux中如何禁止普通用户使用su命令_访问权限


默认情况下,所有用户都可以使用 su 命令。我们可以在​​/etc/sudoers​​中禁用​​su​​命令。

若要切换到 root 帐户,用户必须具有 root 密码。在此示例中,用户正在切换到 root 帐户。

[user01@localhost ~]$ su -
Password:

Linux中如何禁止普通用户使用su命令_用户组_02

禁用普通用户的su访问

禁用普通用户的 su 访问权限,首先,备份以下​​/etc/sudoers​​的原始文件,如下所示:

[bob@localhost ~]$ sudo cp -p /etc/sudoers /etc/sudoers.back
[sudo] password for bob:

使用​​visudo​​命令打开sudoers配置文件

[bob@localhost ~]$ sudo visudo

在​​## Command Aliases​​部分下面添加如下行:

Cmnd_Alias DISABLE_SU = /usr/bin/su

Linux中如何禁止普通用户使用su命令_访问权限_03


然后在文件末尾添加以下行,将用户名 bob替换为需要禁用 su 访问权限的用户:

bob ALL=(ALL) NOPASSWD: ALL, !DISABLE_SU

Linux中如何禁止普通用户使用su命令_用户组_04


保存退出

使用bob用户验证一下。系统应返回如下错误消息 "Sorry, user bob is not allowed to execute /bin/su - user01 as root on localhost.localdomain."

[bob@localhost ~]$ sudo su - user01
Sorry, user bob is not allowed to execute /bin/su - user01 as root on localhost.localdomain.

Linux中如何禁止普通用户使用su命令_普通用户_05

禁用用户组的su访问

还可以禁用用户组的 su 访问权限。例如,要禁用组 wheel 中所有用户的 su 访问权限,可以执行下面命令:

[bob@localhost ~]$ sudo visudo

%wheel ALL=(ALL) ALL, !DISABLE_SU

Linux中如何禁止普通用户使用su命令_普通用户_06


保存退出。

以上是关于Linux中如何禁止普通用户使用su命令的主要内容,如果未能解决你的问题,请参考以下文章

禁止普通用户通过sudo su命令进入root

linux 禁止普通用户使用su切换到root用户和禁止 root ssh登陆

Linux常用命令——su

linux以root用户身份进入centos后如何切换到普通用户?

linux centos 中 root 用户 vim 命令创建的.sh 脚本 显示颜色 ,但切换为普通用户就不显示颜色了

linux下切换用户命令