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