如何在 Ubuntu 上添加和刪除用戶
已發表: 2023-05-22 系統管理員角色包括創建用戶、刪除用戶和查看現有用戶。 他們還控制誰可以和不能使用root
的提升權限。 以下是在 Ubuntu Linux 上執行此操作的方法。
關於在 Ubuntu 中管理用戶的知識
如何在 Ubuntu 中創建用戶
使用用戶添加
使用添加用戶
如何在 Ubuntu 中添加用戶組
如何在 Ubuntu 中列出用戶
如何在 Ubuntu 上將用戶添加到 sudo
如何在 Ubuntu 上更改用戶密碼
如何在 Ubuntu 上刪除用戶
從搖籃到墳墓
關於在 Ubuntu 中管理用戶的知識
多用戶系統要求每個使用計算機的人都有一個不同的用戶帳戶。 每個用戶都有自己的密碼,以及自己的私人數據區域。 普通用戶無法訪問其他用戶的數據。 當然, root
用戶可以訪問任何內容。
管理用戶帳戶的是根用戶。 他們必須在新用戶需要使用計算機時創建一個帳戶,並在不再需要時刪除舊帳戶。
除了創建和刪除之外,在帳戶的生命週期內可能還需要進行其他更改。 用戶可能會忘記他們的密碼,並需要它來重置密碼。 他們可能加入另一個部門或團隊,需要添加到適當的用戶組。 他們甚至可能會被提升並獲得 root 權限。
這些常見任務落在系統管理團隊身上。 如果您是值班管理員——或者團隊中唯一的管理員——您應該快速輕鬆地完成這些任務。
以下是如何在 Ubuntu 上執行這些常見任務的總結。 因為它們使用標準工具,所以您也可以在其他發行版上使用它們,但我們將在屏幕截圖中以 Ubuntu 為特色。
如何在 Ubuntu 中創建用戶
有兩種創建新用戶的內置命令行方法。 它們的名稱非常相似,一個是useradd
,另一個是adduser
。
useradd
命令需要在命令行上提供創建新帳戶所需的所有信息。 adduser
命令採用不同的方法。 它會提示您輸入創建新帳戶所需的信息。
使用用戶添加
要使用useradd
添加新用戶,請使用此格式的命令。
sudo useradd -s /bin/bash -m -c "Mary Quinn" -Gdevelopment maryq
我們使用的選項和參數是:
- -s /bin/bash :這會為這個新用戶設置默認的 shell。
- -m :這會在“/home/”目錄中為新用戶創建一個主目錄。
- -c “Mary Quinn” :新用戶的全名。 這是可選的,但很有用。
- -Gdevelopment :新用戶被添加到一個與其帳戶名同名的組中。
-G
選項允許我們將它們添加到另一個預先存在的組中。 這些組必須已經存在。 這個新用戶將成為“開發”組的成員。 - maryq :新用戶的登錄名。 這必須是唯一的。
這創建了用戶,但我們仍然需要設置他們的密碼。 我們通過將帳戶登錄名傳遞給passwd
命令來完成此操作。
sudo 密碼 maryq
系統會提示您輸入新密碼,您必須輸入兩次。
使用添加用戶
要使用adduser
命令添加新用戶,我們提供要創建的帳戶的登錄名。
sudo 添加用戶 maxn
系統會提示您輸入密碼和新用戶的全名。
如果需要,當系統提示您輸入可選的“全名”、“房間號”、“工作電話”、“家庭電話”和“其他”字段時,您可以按“Enter”。 這些將留空。
如何在 Ubuntu 中添加用戶組
通常,在 Linux 中將用戶添加到組時,實際上是將他們添加到另一個組。 該組必須已經存在。
我們使用usermod
命令執行此操作。 重要的是確保將-a
(追加)選項與-G
(補充組)選項一起使用。 如果不這樣做,用戶將成為新組的成員,但他們的其他組成員身份將被刪除。
這會導致很多問題,因為他們將不是他們自己的主要組的成員,並且他們將無法訪問自己的文件——即使他們能夠登錄。
要將maxn
添加到開發組,我們使用-a
(追加)和-G
(補充組)選項以及我們要將它們添加到的組的名稱。 我們將在之前和之後使用groups
命令,以便我們可以看到所做的更改。
組最大值
sudo usermod -a -G development maxn
組最大值
正如我們所見,用戶maxn
已被添加到“開發”組,並且他仍然是其他組的成員。
如何在 Ubuntu 中列出用戶
跟踪用戶帳戶也是管理員職責的一部分。 值得慶幸的是,查看現有用戶帳戶列表不是問題,並且有多種方法可以做到這一點。
我們可以使用 less 查看“/etc/passwd”文件,但它顯示了所有系統和進程“用戶”帳戶以及實際有機人員使用的帳戶。
少 /etc/passwd
所有用戶帳戶都有一個唯一的數字 ID。 可用作 ID 的最低和最高值存儲在“/etc/login.defs”文件中。 如果我們發現這些值,我們可以列出值介於這兩個限制之間的帳戶。 這將為我們列出真正的用戶帳戶。
為了找出上限和下限,我們將使用grep
搜索“/etc/login.defs”文件。 我們正在搜索以“UID_MIN”或“UID_MAX”開頭的行。
grep -E '^UID_MIN|^UID_MAX' /etc/login.defs
在此計算機上,用戶帳戶 ID 的範圍是從 1000 到 60000。
有了這些知識,我們可以使用getent
命令在密碼數據庫中搜索值在 1000 到 60000 範圍內的條目。
獲取密碼 {1000..60000}
這要有用得多,但是因為它要檢查 59,000 個用戶 ID,所以它確實需要一段時間才能運行。 我們可以通過找出使用次數最多的用戶 ID 並蒐索到該值來減少該時間。
我們將使用cut
命令並使用冒號“ :
”作為字段分隔符。 我們將從“/etc/passwd”文件中提取第三個字段,即用戶 ID 字段。 我們將通過sort
傳輸輸出,並使用-g
(一般數字排序)選項以數字升序顯示結果。
剪切 -d: -f3 /etc/passwd | 排序-g
1000 到 60000 之間的任何值都是有效的人類帳戶。 這台計算機上滿足這些標準的最高值 1003。將該值放入我們的getent
命令中可以顯著加快速度。
獲取密碼 {1000..1003}
如何在 Ubuntu 上將用戶添加到 sudo
那些能夠使用sudo
命令的少數用戶都是特定組的成員。 要將sudo
權限授予某人,您必須將他們添加到該組。 在 Ubuntu 和許多其他發行版上,該組的名稱是“sudo”,但也可能是其他名稱,例如“wheel”,因此最好檢查一下。
sudo visudo
命令打開一個編輯器並加載“/etc/sudoers”文件。 向下滾動,直到看到類似於“允許組成員 sudo 執行任何命令”的條目,然後記下組名。
須藤維蘇多
在我們的例子中,它是“sudo”。
我們將使用我們之前使用的usermod
命令將用戶maryq
添加到該組。
團體瑪麗克
sudo usermod -a -G sudo maryq
團體瑪麗克
下次 Mary 登錄時,她將能夠使用sudo
命令。
如果用戶對sudo
有特定的需求而僅此而已,那麼讓他們無限制地訪問sudo
就太過分了。 假設 Max 需要能夠使用apt
命令安裝軟件,但不需要完全的sudo
訪問權限。
我們需要將他添加到“/etc/sudoers”文件中,並指定他可以用sudo
運行的命令。
須藤維蘇多
滾動文件並將這些行插入文件中最後一個條目的正上方。
# 用戶 Max 可以使用 apt 安裝軟件 maxn ALL=(root) /usr/bin/apt
第一行是註釋。 第二行以 Max 的默認用戶組名稱開頭。 這通常與用戶的登錄名匹配。 “ALL=”表示這適用於該網絡上的所有主機。 “(root)”表示“maxn”組的成員可以對命名命令承擔 root 權限,唯一的命名命令是“ apt
”。
請注意,在“maxn”之後有一個製表符,而不是一系列空格。
保存您的更改。 當 Max 下次登錄時,他將能夠使用sudo
運行apt
命令。 他將無法將sudo
與任何其他命令一起使用。
如何在 Ubuntu 上更改用戶密碼
更改用戶密碼很容易。 您需要將sudo
與 passwd 命令結合使用。
須藤密碼最大
系統會要求您輸入密碼兩次以確保輸入正確。 下次用戶登錄時,他們將需要使用新密碼。
如果您不想選擇用戶的密碼,請使用 -e(過期)選項。 這會強制用戶在下次登錄時選擇自己的新密碼。
sudo passwd -e maxn
如何在 Ubuntu 上刪除用戶
Ubuntu 和其他 Debian 派生的發行版有deluser
命令來從你的系統中刪除一個用戶。 不基於 Debian 的發行版改為使用userdel
命令。
在你使用核選項之前,你真的要刪除它們嗎? 你可以把他們鎖在外面。 這使您可以自由查看他們的文件等。
如果您決定刪除它們但可能想引用它們的文件和數據,請使用諸如tar
之類的工具將它們的主目錄存檔。
讓我們以 Max 的用戶帳戶maxn
為例。
要鎖定他,我們可以使用帶有-l
(鎖定)選項的passwd
命令。
sudo passwd -l maxn
要存檔他的主目錄,我們將使用tar
。
sudo tar cfjv max-normal-home-folder.tar.bz /home/maxn
請注意,在tar
的命令行選項之前沒有連字符“-”。 我們用了:
- c : 創建一個存檔文件。
- f :新歸檔文件的文件名。
- j : 使用 bzip2 壓縮。
- v :在創建存檔時提供詳細輸出。
存檔文件是為我們創建的,具有我們要求的名稱。
ls
要刪除用戶,我們將使用--remove-home
選項同時清除他們的數據。
sudo deluser --remove-home maxn
馬克斯是歷史。
在非 Debian 發行版上,命令是:
sudo userdel --remove maxn
從搖籃到墳墓
作為系統管理員,您對普通用戶擁有完全的控制權。 從創建它們、管理它們到最終刪除它們,命令行都可以讓您完成這一切。