本教程將向您展示如何添加、刪除和授予 須藤 Ubuntu Linux 操作系統的用戶權限。以下說明已在 Ubuntu 20.04 LTS 版本中進行了測試。但是,其他基於 DEB 的發行版的步驟相同。在我們進入它之前,讓我們看一下 sudo 是什麼以及它的好處。
內容
1.什麼是sudo?
Linux 和 Unix 操作系統有一個特殊的用戶,稱為 . 根root 用戶可以在類 Unix 系統上做任何事情。 使用 root 用戶進行日常活動可能很危險,不建議這樣做。一個錯誤的命令可能會破壞您的整個系統。這是 “須藤” 為了幫助。授權用戶可以在不知道 root 用戶密碼的情況下以 root 級別權限執行任務。因此,會創建一個普通用戶並將其添加到 sudo 用戶組,以根據需要執行管理任務。因此,該用戶在執行帶前綴的命令時,既可以作為普通用戶,也可以作為管理用戶。
2.存在sudo的優點
- 無需與其他用戶共享 root 密碼。
- 用戶無需知道 root 用戶密碼即可執行管理任務。
- 執行管理任務時,系統會在對系統進行任何更改之前提示用戶輸入 sudo 密碼。您需要讓您的用戶考慮他們所做的事情的後果。
- 該管理員可以輕鬆地向用戶授予權限,並在不再需要時撤銷他們。
- 某些 Linux 發行版(例如 Ubuntu)默認禁用 root 用戶。所以沒有辦法對root用戶發起暴力攻擊。任何人嘗試都是沒有用的。因為沒有root密碼可以破解。
- 此外,sudo 會話將在短時間內超時。提醒一下,如果您在以具有 sudo 權限的 root 身份運行命令後保持終端打開,您的授權將自動過期。因此,其他用戶無法執行進一步的管理任務。默認情況下,密碼在當前會話中保存 15 分鐘。之後,您必須再次輸入密碼。
- 監視 sudo 用戶的命令行活動。 sudo 將用戶運行的命令的日誌條目添加到 /var/log/auth.log 文件中。如果遇到問題,可以查看這些命令並嘗試修復它們。
這些是成為 sudo 用戶的一些好處。讓我們看看如何在 Linux 中為用戶添加、刪除和授予 sudo 權限。
3、在Ubuntu中為用戶添加、刪除和授予sudo權限
首先,創建一個普通用戶。
3.1. 在 Linux 上添加新用戶
首先創建一個普通用戶。 “ubuntu 服務器”為此,請運行:
$ sudo adduser ubuntuserver
示例輸出:
Adding user `ubuntuserver' ... Adding new group `ubuntuserver' (1001) ... Adding new user `ubuntuserver' (1001) with group `ubuntuserver' ... Creating home directory `/home/ubuntuserver' ... Copying files from `/etc/skel' ... New password: Retype new password: passwd: password updated successfully Changing the user information for ubuntuserver Enter the new value, or press ENTER for the default Full Name []: ubuntu 20.04 server Room Number []: Work Phone []: Home Phone []: Other []: Is the information correct? [Y/n] y
創建了一個名為“ubuntuserver”的新用戶。
3.2. 在 Linux 中授予用戶 Sudo 權限
一些 Linux 系統,例如 Arch Linux,需要安裝。 “須藤” 在創建新用戶之前打包 sudo 用戶。
# pacman -S sudo
對於 Debian:
# apt install sudo
‘sudo’ 默認安裝在 Ubuntu 服務器和桌面上。
使用以下命令將新創建的用戶添加到 sudo 組:
$ sudo adduser ubuntuserver sudo
示例輸出:
Adding user `ubuntuserver' to group `sudo' ... Adding user ubuntuserver to group sudo Done.
名為“ubuntuserver”的用戶已被授予 sudo 權限。
您還可以使用以下命令將用戶添加到 sudo 社區:
$ sudo usermod -aG sudo ubuntuserver
要檢查用戶是否在 sudo 組中,請運行:
$ sudo -l -U ubuntuserver
示例輸出:
Matching Defaults entries for ubuntuserver on ostechnix: env_reset, mail_badpass, secure_path=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin User ubuntuserver may run the following commands on ostechnix: (ALL : ALL) ALL

是這裡, “(全部:全部)全部” line 表示用戶擁有無限權限,可以在系統上執行任何命令。在這種情況下,“ubuntuserver”用戶屬於 sudo 用戶組,現在可以執行各種管理任務。
對於開放內容 sudoers 文檔;
$ sudo cat /etc/sudoers
您將看到如下所示的一些行。
[...]
# User privilege specification
root ALL=(ALL:ALL) ALL
# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
# See sudoers(5) for more information on "#include" directives:
#includedir /etc/sudoers.d
從上面的輸出可以看出,sudo 組的所有成員都可以執行任意命令。
- 第一個 ALL 是授權用戶。
- 第二個 ALL 是主機。將相同的“sudoers”文件分發到多個主機允許用戶在所有主機上運行管理命令。
- 第三個是運行命令的用戶。
- 最後一個是允許的命令。
3.3. 驗證 Sudo 用戶
為確保用戶可以執行管理任務,請註銷並以新用戶身份重新登錄。
或者,您可以立即以具有 sudo 權限的其他用戶身份登錄,而無需退出當前會話,如下所示。
$ sudo -i -u <username>
例子:
$ sudo -i -u ubuntuserver
現在運行任何以“sudo”開頭的命令,如下所示:
$ sudo apt update

3.4. 刪除一個 sudo 用戶
您可以刪除 sudo 用戶的權限,而無需完全刪除它。 在 Ubuntu 系統上執行此操作時要小心。 不要從“sudo”組開始。您的系統必須至少有一個 sudo 用戶。
要撤銷用戶的 sudo 權限,命令為:
$ sudo deluser ubuntuserver sudo
上面的命令是從“sudo”組啟動的。
示例輸出:
Removing user `ubuntuserver' from group `sudo' ... Done.
請注意,此命令僅將用戶從 sudo 組中刪除,它不會將其從系統中永久刪除。
或者,通過運行以下命令撤銷用戶的 sudo 權限:
$ sudo gpasswd -d ubuntuserver sudo
該用戶現在是普通用戶,無法執行 sudo 允許的管理任務。
要驗證用戶確實是“sudo”組中的用戶,請運行:
$ sudo -l -U ubuntuserver
示例輸出:
User ubuntuserver is not allowed to run sudo on ostechnix.
此 sudo 刪除了用戶的權限。
3.5. 永久刪除用戶
在上面的步驟中,我只從“sudo”組開始。但是用戶仍然存在於系統中。 要從 Linux 系統中完全刪除用戶,請以 root 或 sudo 用戶身份登錄並運行:
$ sudo deluser <username>
例子:
$ sudo deluser ubuntuserver
如果要刪除用戶及其主目錄和郵件池,請運行以下命令:
$ sudo deluser --remove-home ubuntuserver
示例輸出:
Looking for files to backup/remove ... Removing files ... Removing user `ubuntuserver' ... Warning: group `ubuntuserver' has no more members. Done.
查看手冊頁以獲取更多詳細信息。
$ man adduser
$ man deluser
$ man sudo
本指南也適用於 Alpine Linux、Arch Linux 和 CentOS 系統。 查看以下有關在 Arch Linux 和 CentOS Linux 發行版上添加、刪除和授予 sudo 用戶權限的指南。
- 在 Alpine Linux 中為用戶添加、刪除和授予 Sudo 權限
- 在 Arch Linux 中為用戶添加、刪除和授予 Sudo 權限
- 在 CentOS 上為用戶添加、刪除和授予 Sudo 權限
希望這可以幫助。
相關文件:
- 如何在 Linux 上更改 sudo 密碼超時
- 如何更改 Linux 上的默認 sudo 日誌文件
- 如何恢復用戶的 sudo 權限
- 如何在 Linux 系統上查找所有 Sudo 用戶
- 如何在 Linux 中運行沒有 sudo 密碼的特定命令
.
添加 sudo 用戶添加用戶添加 sudo 權限刪除用戶授予 sudo 權限LinuxLinux 命令Linux howtoLinux 用戶管理Ubuntu