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

大雄45發表於2023-01-04
su  是一個特殊的 ,它允許使用者以另一個使用者和組的身份執行命令。它還允許你切換到 root 帳戶或另一個指定的使用者帳戶。

要切換到另一個使用者帳戶,使用者可以從他們當前的登入會話中執行 su 命令,如下所示,使用者可以透過su切換使用者:

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

Linux中如何禁止普通使用者使用su命令Linux中如何禁止普通使用者使用su命令
預設情況下,所有使用者都可以使用 su 命令。我們可以在 /etc/sudoers中禁用 su命令。

若要切換到 root 帳戶,使用者必須具有 root 密碼。在此示例中,使用者正在切換到 root 帳戶。

[user01@localhost ~]$ su -
Password:

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

禁用普通使用者的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命令Linux中如何禁止普通使用者使用su命令
然後在檔案末尾新增以下行,將使用者名稱 bob替換為需要禁用 su 訪問許可權的使用者:

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

Linux中如何禁止普通使用者使用su命令Linux中如何禁止普通使用者使用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.

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

禁用使用者組的su訪問

還可以禁用使用者組的 su 訪問許可權。例如,要禁用組 wheel 中所有使用者的 su 訪問許可權,可以執行下面命令:

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

Linux中如何禁止普通使用者使用su命令Linux中如何禁止普通使用者使用su命令
儲存退出。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31524109/viewspace-2920964/,如需轉載,請註明出處,否則將追究法律責任。

相關文章