2021-05-12 14:32:11
如何在 CentOS 中將使用者新增到 sudoers
sudo 是一個命令列實用程式,旨在允許受信任的使用者以另一個使用者(預設情況下是 root 使用者)身份執行命令。
要授予使用者 sudo 存取許可權,您有兩個選項。第一個是將使用者新增到 sudoers 檔案。此檔案包含定義哪些使用者和組被授予 sudo 許可權以及許可權級別的資訊。
第二個選項是將使用者新增到 sudoers 檔案中定義的 sudo 組。預設情況下,在基於 RedHat 的發行版(如 CentOS 和 Fedora) 上, “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” 組即可。
相關文章