在 Linux 哲學中,非常不鼓勵以 root 用戶身份運行特權任務。 原因很簡單——root 用戶只需要運行一個致命的命令,整個系統就會分崩離析。 因此,您應該始終以普通用戶身份運行與系統相關的任務 sudo 特權。
為此,您需要授予管理權限或 sudo 普通用戶的特權。 您可以通過兩種方式實現這一點。 第一種方法是將用戶添加到 sudoers 文件中已經指定的 sudoers 組中。 第二種方法是手動將用戶附加到 sudoers 文件中,該文件包含具有提升權限的組和用戶等信息。
那麼什麼是 sudo
? Sudo 是一個命令,它的縮寫是 他的細讀r 做. 你用 sudo 授予普通用戶特權或提升的權限來運行與系統相關的任務。 當以標準用戶身份運行與系統相關的任務時,它會在每個命令的開頭調用。
在本教程中,我將展示如何在 Ubuntu 20.04 LTS Linux 上向 sudoers 添加用戶。
1) 如何將用戶添加到 sudoers 組
在 Ubuntu 上,這必須是向普通用戶授予管理權限的最簡單選項。 當用戶被添加到 sudo 組,他們獲得了調用的能力 sudo 運行系統相關任務時。 usermod 命令是用於向普通登錄用戶授予管理權限的命令。 usermod 命令用於更改用戶的屬性,例如外殼、密碼到期日期和組等。
讓我們首先使用 adduser 命令添加一個新用戶,這是創建用戶 Debian 的推薦命令。
以下命令創建一個名為“jack”的用戶:
$ sudo adduser jack
Output
Adding user `jack' ...
Adding new group `jack' (1001) ...
Adding new user `jack' (1001) with group `jack' ...
Creating home directory `/home/jack' ...
Copying files from `/etc/skel' ...
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Changing the user information for jack
Enter the new value, or press ENTER for the default
Full Name []: Jack Danny
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Is the information correct? [Y/n] Y
跑 id command
驗證用戶屬於哪些組:
$ id jack
現在使用 usermod 命令將現有用戶添加到 sudoers 組,使用語法:
$ usermod -aG sudo username
要將用戶“jack”添加到 sudoers 組,請執行以下命令:
$ usermod -aG sudo jack
接下來,驗證用戶 ‘jack’ 是否屬於 sudo 使用命令分組:
$ groups jack
或者
$ id jack

從輸出中,用戶 ‘jack’ 現在屬於 2 個組,’jack’ 和 ‘sudo’ 團體。 這證實我們已成功將普通用戶“jack”添加到 sudoers 組。
此外,您可以使用以下命令切換到用戶“jack”:
$ su jack
接下來,運行 sudo whoami
命令如圖所示。 您應該以 root 身份獲取輸出。
$ su whoami

2)如何在sudoers文件中添加用戶
sudoers 文件定義了“用戶”和“組”權限。
sudoers 文件 /etc/sudoers
可以使用以下命令調用:
$ visudo
這將使用 nano 文本編輯器打開 sudoers 文件。 如果您更喜歡使用 vim(VI 改進的編輯器)打開此文件,請運行以下命令:
$ EDITOR=vim visudo
在文件中添加以下行並保存:
username ALL=(ALL:ALL) ALL
對於我們的用戶,命令將是:
jack ALL=(ALL:ALL) ALL
最後,保存文件並 close 文本編輯器。
結論
在本教程中,我們學習了 2 種在 Ubuntu 上將用戶添加到 sudoers 文件的方法。
Sudo 命令是運行需要 root 權限的命令的最安全方式。 通過這種方式,您可以最大限度地減少可能導致系統癱瘓的事故發生的可能性。
Related Read: How to Add a User to a Group in Linux