使用 useradd 命令在 Linux 中添加新用戶
我們在??《如何在 Ubuntu和 Debian 上創建 sudo 用戶》???一文中提到過 useradd 命令,useradd 命令可以讓超級用戶(比如root)在 Linux 系統中創建新的用戶賬戶。
它是一個低級實用程序,默認情況下只是簡單的創建用戶,但是提供了幾個選項來創建具有各種配置的用戶。
以下是useradd命令的語法:
在這里需要注意,必須是 root 用戶或者具有 sudo 權限的用戶才能使用次命令。
下面我們來詳細看下如何使用 useradd 命令。
使用 useradd 命令在 Linux 中添加新用戶
不帶任何選項的情況下使用 useradd 命令,如下所示:
上述命令會創建一個用戶賬戶,但是:
- 不會創建用戶的主目錄;
- 密碼必須單獨設置;
- 用戶的默認 shell 是 sh。
如此,可以使用 passwd 命令為此新用戶賬戶設置密碼:
使用 useradd 命令添加用戶同時創建主目錄
useradd 命令的 -m 選項可以將系統框架目錄(system skeleton directory,位于 /etc/skel)中的所有文件復制到新創建的主目錄中。
這樣就意味著,我們可以使用 -m 選項來創建一個具有主目錄的用戶:
此外,還可以使用 -d 選項將現有的一個目錄指定為新創建用戶的主目錄:
添加新用戶時指定 shell
useradd 命令創建的新用戶,其默認 shell 是 sh。在現代系統中,尤其當 bash 或者 zsh 誕生以后,已經很少人在使用 sh 了。
我們可以在創建用戶后更改其默認 shell,但也可以在創建用戶賬戶的同時使用 -s 選項來指定一個默認的 shell。
比如,如果我們想要將 bash 作為新用戶的默認 shell,可以執行如下操作:
添加新用戶時指定一個不同名稱的組
通常,創建新用戶時,會創建與該用戶同名的組,新用戶被添加為此組的成員。
使用選項 -g,可以將新用戶添加到已存在的組中,作為其默認組:
比如我們在為開發人員創建賬戶,可能希望將所有開發人員添加到 "dev" 組中。
此外,還可以使用選項 -G(大寫的G),額外將用戶添加到其他現有組中:
比如,如果我們需要??創建一個 sudo 用戶???,那么在創建該用戶的時候還需要將其添加到 sudo 組中,這是其中一個應用場景。
添加具有特定用戶ID(UID)的新用戶
在使用 useradd 命令創建新用戶的時候,可以使用其 -u 選項為新用戶指定一個用戶ID(UID):
其他
上面我們介紹了 useradd 命令的一些使用方法,我們可以將它的多個選項組合在一起,使用預定義的配置在 Linux 中創建新用戶,比如:
如前文所屬,在默認情況下,useradd 命令功能比較單一,只是簡單的創建用戶,所以有很多人更喜歡使用 adduser 命令。關于adduser 和 useradd 命令的區別,我們會在以后單獨介紹。