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

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

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

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

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

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

[user01@localhost ~]$ su -
Password:


禁用普通用户的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

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

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

保存退出

使用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.

禁用用户组的su访问

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


[bob@localhost ~]$ sudo visudo
%wheel ALL=(ALL) ALL, !DISABLE_SU

责任编辑:庞桂玉 来源: 良许Linux
相关推荐

2022-08-04 07:03:11

Linux配置命令

2013-12-23 13:24:47

Linuxauthbind命令

2010-01-05 10:13:57

Ubuntu普通用户市场

2021-02-22 10:32:46

云计算云厂商SaaS

2010-02-23 16:49:40

CentOS tomc

2011-12-12 17:07:43

2011-04-12 10:16:18

UNIX权限

2011-02-24 11:11:14

2009-04-30 17:29:49

LinuxUbuntuScreen

2012-08-02 10:48:03

Windows 8操作系统

2013-10-12 15:45:30

2021-04-04 22:56:47

Linux循环用户

2009-03-28 09:40:32

Windows 7微软操作系统

2009-12-10 16:53:53

Linux操作系统

2021-03-07 00:34:30

大数据互联网技术

2010-07-19 17:22:02

连接到Telnet服务

2012-11-02 09:28:57

Windows Ser

2015-07-29 11:31:25

2009-04-20 08:49:29

Windows 7微软操作系统

2017-11-01 13:34:33

点赞
收藏

51CTO技术栈公众号