教你如何在 Linux 中禁止普通用戶使用 su 命令
要切換到另一個(gè)用戶帳戶,用戶可以從他們當(dāng)前的登錄會(huì)話中運(yùn)行 su 命令,如下所示,用戶可以通過su切換用戶:
[bob@localhost ~]$ su - user01
Password:
默認(rèn)情況下,所有用戶都可以使用 su 命令。我們可以在/etc/sudoers中禁用su命令。
若要切換到 root 帳戶,用戶必須具有 root 密碼。在此示例中,用戶正在切換到 root 帳戶。
[user01@localhost ~]$ su -
Password:
禁用普通用戶的su訪問
禁用普通用戶的 su 訪問權(quán)限,首先,備份以下/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 訪問權(quán)限的用戶:
bob ALL=(ALL) NOPASSWD: ALL, !DISABLE_SU
保存退出
使用bob用戶驗(yàn)證一下。系統(tǒng)應(yīng)返回如下錯(cuò)誤消息 "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 訪問權(quán)限。例如,要禁用組 wheel 中所有用戶的 su 訪問權(quán)限,可以執(zhí)行下面命令:
[bob@localhost ~]$ sudo visudo
%wheel ALL=(ALL) ALL, !DISABLE_SU