如何在 Ubuntu 中新增 Sudo 使用者

Suraj Joshi 2023年1月30日 2020年9月19日
  1. 將使用者新增到 sudo 組中
  2. sudoers 檔案中新增使用者
如何在 Ubuntu 中新增 Sudo 使用者

我們只能以 root 使用者的身份使用 sudo 命令執行特定的命令。root 使用者也被稱為 sudo 使用者。在 Ubuntu 中,我們可以通過將使用者新增到 sudo 組或將使用者新增到/etc/sudoers 目錄下的檔案中來新增 sudo 使用者。

將使用者新增到 sudo 組中

假設你有一個不是 sudo 使用者的使用者。要將該使用者新增到 sudo 組,我們以現有超級使用者的身份執行以下命令。

usermod -aG sudo username

這裡,username 是需要新增到 sudo 組的使用者名稱稱。

usermod -aG sudo zeppy

它將 zeppy 新增到 sudo 組中。

我們使用 whoami 命令來確認使用者是否已經被新增到 sudo 中。

sudo whoami

這個命令提示我們輸入密碼,如果密碼正確,並且該使用者在 sudo 組中,終端中會列印出 root

輸出:

root

如果使用者不在 sudo 組中,我們會得到一個錯誤資訊說 user is not in the sudoers file

sudoers 檔案中新增使用者

sudo 使用者列在/etc/sudoers 檔案中。我們可以通過修改 sudoers 檔案或在/etc/sudoers.d 目錄下新增新的配置檔案來新增 sudo 使用者。

我們使用 visudo 命令,用 vim 編輯器來編輯/etc/sudoers 檔案。visudo 命令在儲存前會檢查檔案中的語法錯誤。

我們使用下面的命令來使用 nano 編輯器來編輯/etc/sudoers 檔案。

EDITOR=nano visudo

如果我們希望允許使用者在不被提示密碼的情況下執行 sudo 命令,我們使用以下命令開啟 /etc/sudoers 檔案。

visudo

如果出現許可權拒絕的錯誤,請嘗試使用下面的命令。

sudo visudo

現在/etc/sudo 檔案將被開啟,我們需要在檔案的最後新增以下一行。

username ALL=(ALL) NOPASSWD:ALL

這裡,username 是我們賦予許可權的使用者的名字。

在退出編輯器之前,我們需要儲存檔案。

我們也可以允許使用者在沒有密碼的情況下只執行某些命令。

zeppy ALL=(ALL) NOPASSWD:/bin/mkdir,/bin/rmdir

這使得 zpepy 可以在沒有密碼的情況下執行/bin/mkdir/bin/rmdir 命令。

我們也可以通過在/etc/sudoers.d 目錄下建立配置檔案來實現使用者執行命令的許可權。

現在我們必須在檔案中新增與/etc/sudo 檔案中相同的內容。

zeppy ALL=(ALL) NOPASSWD:/bin/mkdir,/bin/rmdir

它使 zeppy 能夠在沒有密碼的情況下執行/bin/mkdir/bin/rmdir 命令。

這種方法的好處是,它使事情變得更容易管理,因為我們可以為每個使用者的檔名建立一個單獨的檔案。

Author: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn