如何在 Ubuntu 上添加和刪除用戶

已發表: 2023-05-22
MALIBAL Aon S1 上打開的 Linux 終端。
漢娜史崔克 / How-To Geek
要在 Ubuntu 中創建一個名為“maxn”的新用戶,請使用命令“sudo adduser maxn”。 要刪除用戶及其主目錄,您需要“deluser --remove-home maxn”命令。 您還可以將他們添加到組 (usermod)、重置他們的密碼 (passwd) 或授予他們 sudo 權限 (visudo)。

系統管理員角色包括創建用戶、刪除用戶和查看現有用戶。 他們還控制誰可以和不能使用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 

在 Ubuntu 中使用 useradd 命令添加新的用戶帳戶

我們使用的選項和參數是:

  • -s /bin/bash :這會為這個新用戶設置默認的 shell。
  • -m :這會在“/home/”目錄中為新用戶創建一個主目錄。
  • -c “Mary Quinn” :新用戶的全名。 這是可選的,但很有用。
  • -Gdevelopment :新用戶被添加到一個與其帳戶名同名的組中。 -G選項允許我們將它們添加到另一個預先存在的組中。 這些組必須已經存在。 這個新用戶將成為“開發”組的成員。
  • maryq :新用戶的登錄名。 這必須是唯一的。

這創建了用戶,但我們仍然需要設置他們的密碼。 我們通過將帳戶登錄名傳遞給passwd命令來完成此操作。

 sudo 密碼 maryq 

在 Ubuntu 中使用 passwd 命令設置用戶密碼

系統會提示您輸入新密碼,您必須輸入兩次。

使用添加用戶

要使用adduser命令添加新用戶,我們提供要創建的帳戶的登錄名。

 sudo 添加用戶 maxn 

在 Ubuntu 中使用 adduser 命令添加新用戶

系統會提示您輸入密碼和新用戶的全名。

如果需要,當系統提示您輸入可選的“全名”、“房間號”、“工作電話”、“家庭電話”和“其他”字段時,您可以按“Enter”。 這些將留空。

如何在 Ubuntu 中添加用戶組

通常,在 Linux 中將用戶添加到組時,實際上是將他們添加到另一個組。 該組必須已經存在。

我們使用usermod命令執行此操作。 重要的是確保將-a (追加)選項與-G (補充組)選項一起使用。 如果不這樣做,用戶將成為新組的成員,但他們的其他組成員身份將被刪除。

這會導致很多問題,因為他們將不是他們自己的主要組的成員,並且他們將無法訪問自己的文件——即使他們能夠登錄。

要將maxn添加到開發組,我們使用-a (追加)和-G (補充組)選項以及我們要將它們添加到的組的名稱。 我們將在之前和之後使用groups命令,以便我們可以看到所做的更改。

 組最大值
sudo usermod -a -G development maxn
 組最大值

在 Ubuntu 中使用 usermod 命令將用戶添加到組

正如我們所見,用戶maxn已被添加到“開發”組,並且他仍然是其他組的成員。

如何在 Ubuntu 中列出用戶

跟踪用戶帳戶也是管理員職責的一部分。 值得慶幸的是,查看現有用戶帳戶列表不是問題,並且有多種方法可以做到這一點。

我們可以使用 less 查看“/etc/passwd”文件,但它顯示了所有系統和進程“用戶”帳戶以及實際有機人員使用的帳戶。

 少 /etc/passwd 

在 Ubuntu 上使用 less 查看 /etc/passwd 文件

所有用戶帳戶都有一個唯一的數字 ID。 可用作 ID 的最低和最高值存儲在“/etc/login.defs”文件中。 如果我們發現這些值,我們可以列出值介於這兩個限制之間的帳戶。 這將為我們列出真正的用戶帳戶。

為了找出上限和下限,我們將使用grep搜索“/etc/login.defs”文件。 我們正在搜索以“UID_MIN”或“UID_MAX”開頭的行。

 grep -E '^UID_MIN|^UID_MAX' /etc/login.defs 

在 Ubuntu 上搜索 login.defs 文件以獲取用戶 ID 上限和下限

在此計算機上,用戶帳戶 ID 的範圍是從 1000 到 60000。

有了這些知識,我們可以使用getent命令在密碼數據庫中搜索值在 1000 到 60000 範圍內的條目。

 獲取密碼 {1000..60000} 

在 Ubuntu 上使用 getent 搜索用戶 ID 在 1000 到 60000 之間的用戶帳戶

這要有用得多,但是因為它要檢查 59,000 個用戶 ID,所以它確實需要一段時間才能運行。 我們可以通過找出使用次數最多的用戶 ID 並蒐索到該值來減少該時間。

我們將使用cut命令並使用冒號“ : ”作為字段分隔符。 我們將從“/etc/passwd”文件中提取第三個字段,即用戶 ID 字段。 我們將通過sort傳輸輸出,並使用-g (一般數字排序)選項以數字升序顯示結果。

 剪切 -d: -f3 /etc/passwd | 排序-g 

在 Ubuntu 上發現使用次數最多的用戶 ID

1000 到 60000 之間的任何值都是有效的人類帳戶。 這台計算機上滿足這些標準的最高值 1003。將該值放入我們的getent命令中可以顯著加快速度。

 獲取密碼 {1000..1003} 

在 Ubuntu 上搜索 login.defs 文件以獲取較低的用戶 ID 限制和最高使用的用戶 ID

如何在 Ubuntu 上將用戶添加到 sudo

那些能夠使用sudo命令的少數用戶都是特定組的成員。 要將sudo權限授予某人,您必須將他們添加到該組。 在 Ubuntu 和許多其他發行版上,該組的名稱是“sudo”,但也可能是其他名稱,例如“wheel”,因此最好檢查一下。

sudo visudo命令打開一個編輯器並加載“/etc/sudoers”文件。 向下滾動,直到看到類似於“允許組成員 sudo 執行任何命令”的條目,然後記下組名。

 須藤維蘇多

在 sudoers 文件中查找 sudo 組的名稱,在 Ubuntu 上使用 sudo visudo

在我們的例子中,它是“sudo”。

我們將使用我們之前使用的usermod命令將用戶maryq添加到該組。

 團體瑪麗克
sudo usermod -a -G sudo maryq
 團體瑪麗克

將用戶 maryq 添加到 sudo 組,在 Ubuntu 上使用 usermod

下次 Mary 登錄時,她將能夠使用sudo命令。

如果用戶對sudo有特定的需求而僅此而已,那麼讓他們無限制地訪問sudo就太過分了。 假設 Max 需要能夠使用apt命令安裝軟件,但不需要完全的sudo訪問權限。

我們需要將他添加到“/etc/sudoers”文件中,並指定他可以用sudo運行的命令。

 須藤維蘇多

在 Ubuntu 上使用 sudo visudo 將用戶帳戶 maxn 添加到 eh sudoers 文件

滾動文件並將這些行插入文件中最後一個條目的正上方。

 # 用戶 Max 可以使用 apt 安裝軟件
maxn ALL=(root) /usr/bin/apt

第一行是註釋。 第二行以 Max 的默認用戶組名稱開頭。 這通常與用戶的登錄名匹配。 “ALL=”表示這適用於該網絡上的所有主機。 “(root)”表示“maxn”組的成員可以對命名命令承擔 root 權限,唯一的命名命令是“ apt ”。

請注意,在“maxn”之後有一個製表符,而不是一系列空格。

保存您的更改。 當 Max 下次登錄時,他將能夠使用sudo運行apt命令。 他將無法將sudo與任何其他命令一起使用。

如何在 Ubuntu 上更改用戶密碼

更改用戶密碼很容易。 您需要將sudo與 passwd 命令結合使用。

 須藤密碼最大

在 Ubuntu 上使用 passwd 命令為用戶設置新密碼

系統會要求您輸入密碼兩次以確保輸入正確。 下次用戶登錄時,他們將需要使用新密碼。

如果您不想選擇用戶的密碼,請使用 -e(過期)選項。 這會強制用戶在下次登錄時選擇自己的新密碼。

 sudo passwd -e maxn

如何在 Ubuntu 上刪除用戶

Ubuntu 和其他 Debian 派生的發行版有deluser命令來從你的系統中刪除一個用戶。 不基於 Debian 的發行版改為使用userdel命令。

在你使用核選項之前,你真的要刪除它們嗎? 你可以把他們鎖在外面。 這使您可以自由查看他們的文件等。

如果您決定刪除它們但可能想引用它們的文件和數據,請使用諸如tar之類的工具將它們的主目錄存檔。

讓我們以 Max 的用戶帳戶maxn為例。

要鎖定他,我們可以使用帶有-l (鎖定)選項的passwd命令。

 sudo passwd -l maxn 

在 Ubuntu 上使用 passwd 命令將用戶鎖定在他們的帳戶之外

要存檔他的主目錄,我們將使用tar

 sudo tar cfjv max-normal-home-folder.tar.bz /home/maxn 

在 Ubuntu 上使用 tar 命令歸檔用戶的主目錄

請注意,在tar的命令行選項之前沒有連字符“-”。 我們用了:

  • c : 創建一個存檔文件。
  • f :新歸檔文件的文件名。
  • j : 使用 bzip2 壓縮。
  • v :在創建存檔時提供詳細輸出。

存檔文件是為我們創建的,具有我們要求的名稱。

 ls 

用戶的主文件夾在 Ubuntu 上存檔為 tar 文件

要刪除用戶,我們將使用--remove-home選項同時清除他們的數據。

 sudo deluser --remove-home maxn 

在 Ubuntu 上使用帶有 --remove-home 選項的 deluser 命令刪除用戶

馬克斯是歷史。

在非 Debian 發行版上,命令是:

 sudo userdel --remove maxn

從搖籃到墳墓

作為系統管理員,您對普通用戶擁有完全的控制權。 從創建它們、管理它們到最終刪除它們,命令行都可以讓您完成這一切。