首頁 > 軟體

如何在 CentOS 中將使用者新增到 sudoers

2020-06-16 16:32:49

sudo 是一個命令列實用程式,旨在允許受信任的使用者以另一個使用者(預設情況下是 root 使用者)身份執行命令。

要授予使用者 sudo 存取許可權,您有兩個選項。第一個是將使用者新增到 sudoers 檔案。此檔案包含定義哪些使用者和組被授予 sudo 許可權以及許可權級別的資訊。

第二個選項是將使用者新增到 sudoers 檔案中定義的 sudo 組。預設情況下,在基於 RedHat 的發行版(如 CentOSFedora) 上, “wheel” 組的成員被授予 sudo 許可權。

我們將在下面解釋這兩個選項。

將使用者新增到 wheel 組

在 CentOS 上向使用者授予 sudo 許可權的最簡單方法是將使用者新增到 “wheel” 組。該組的成員將能夠通過 sudo 執行所有命令,使用時 sudo 會提示用密碼驗證自己。

我們假設使用者已經存在。如果要建立新使用者,請檢視本指南。

要將使用者新增到組,請以 root 或其他 sudo 使用者身份執行以下命令。將 “username” 更改為您要授予其許可權的使用者的名稱。

usermod -aG wheel username

對於大多數用例,使用此方法授予 sudo 存取許可權已足夠。

要測試 sudo 存取許可權,請切換到使用者:

su - username

執行 whoami 命令:

如果使用者有 sudo 存取許可權,該命令將列印 “root” :

root

如果您收到錯誤訊息 “user is not in the sudoers file”,則表示該使用者沒有 sudo 許可權。

將使用者新增到 sudoers 檔案

使用者和組 sudo 許可權會設定在 /etc/sudoers 檔案中。將使用者新增到此檔案允許您授予對命令的自定義存取許可權,並為使用者設定自定義安全策略。

您可以通過修改 sudoers 檔案或在 /etc/sudoers.d 目錄中建立新組態檔來設定使用者 sudo 存取許可權。此目錄中的檔案會被包含在 sudoers 檔案中。

要編輯 /etc/sudoers 檔案,請使用 visudo 命令。儲存時,此命令將檢查檔案是否存在語法錯誤。如果有任何錯誤,則不會儲存檔案。如果使用文字編輯器開啟檔案,語法錯誤可能會導致丟失 sudo 存取許可權。

通常, visudo 會使用 vim 開啟 /etc/sudoers 。如果您沒有使用 vim 的經驗,並且想要使用 nano 編輯檔案,請輸入以下命令:

EDITOR=nano visudo

假設您希望允許使用者在不要求輸入密碼的情況下執行 sudo 命令。開啟 /etc/sudoers 檔案:

visudo

向下捲動到檔案末尾並新增以下行:

username  ALL=(ALL) NOPASSWD:ALL

儲存檔案並退出編輯器。不要忘記使用您要授予存取許可權的使用者名稱更改上面的 username 。

另一個常見範例是允許使用者僅僅能通過 sudo 執行特定的命令。例如,要僅允許使用的 du 和 ping 命令:

請編輯 /etc/sudoers 檔案

username ALL=(ALL) NOPASSWD:/usr/bin/du,/usr/bin/ping

您也可以通過在 /etc/sudoers.d 目錄中建立具有授權規則的新檔案來實現相同的操作,而不是編輯 sudoers 檔案。執行以下命令新增與上面相同的規則:

echo "username  ALL=(ALL) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/username

這種方法使得 sudo 許可權的管理更易於維護。檔名不重要,通常的做法是將檔名與使用者名稱相同。

結論

在 CentOS 或者其他基於 RedHat 的發行版中,授予使用者 sudo 存取許可權是一項簡單的任務,您只需將使用者新增到 “wheel” 組即可。


IT145.com E-mail:sddin#qq.com