su 命令是一個特殊的命令,它允許使用者以另一個使用者和群組的身份執行命令。它還允許你切換到 root 帳戶或另一個指定的使用者帳戶。
要切換到另一個使用者帳戶,使用者可以從他們目前的登入會話中執行 su 命令,如下所示,使用者可以透過su切換使用者:
[bob@localhost ~]$ su - user01 Password:
預設情況下,所有使用者都可以使用 su 指令。我們可以在/etc/sudoers
中停用su
指令。
若要切換到 root 帳戶,使用者必須具有 root 密碼。在此範例中,使用者正在切換到 root 帳戶。
[user01@localhost ~]$ su - Password:
停用普通使用者的 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 存取權限。例如,要停用群組 wheel 中所有使用者的 su 存取權限,可以執行下方命令:
[bob@localhost ~]$ sudo visudo %wheel ALL=(ALL) ALL, !DISABLE_SU
儲存退出~
以上是教你如何在 Linux 中禁止一般使用者使用 su 指令的詳細內容。更多資訊請關注PHP中文網其他相關文章!