如何在 Linux 上创建用户
已发表: 2023-04-28
useradd
命令,指定一个用户名,前面加上可选标志,例如-s
分配用户的默认 shell, -m
用于创建主目录, -G
用于将用户添加到特定组。将用户添加到 Linux 计算机是一项基本的管理任务,有多种方法可以实现这一点。 每种创建用户的方法都有优点和缺点,我们将向您介绍三种不同的用户创建技术。
为什么 Linux 计算机需要用户
如何创建新的 Linux 用户
用 useradd 命令
使用 adduser 命令
使用 GNOME 用户设置(GUI 选项)
我应该使用哪种添加用户的方法?
为什么 Linux 计算机需要用户
没有用户的个人计算机并没有什么意义。 Linux 支持多用户。 无论他们同时登录并共享计算机电源,还是在独占使用机器时单独登录,每个人都需要一个唯一的用户帐户。
用户帐户封装了该用户的工作并提供隐私。 它还允许将控制和治理应用于帐户。 不同的用户可以根据他们的需要或他们的角色或功能通过改变他们的用户帐户的属性来拥有不同的能力,比如他们属于哪个组。
无论您是与家人共享计算机还是为组织管理多用户安装,创建用户帐户都是一项基本的管理技能。
如何创建新的 Linux 用户
Linux 就是 Linux,当您成为新用户时,您有多种方法可供选择。 我们将引导您完成三种 — 两种命令行方法(低级useradd
命令和交互式adduser
命令)和一种图形方法(使用 GNOME 设置)— 这样您就可以选择您认为最适合您的方法.
用 useradd 命令
useradd
命令是用于添加用户的最低级命令。 其他命令充当useradd
命令的更友好的前端。 这增加了一些便利并使过程更容易,但其他命令不会执行您无法使用useradd
和passwd
命令提供的一些帮助无法实现的任何操作。
useradd
命令有很多选项,创建典型新用户所需的选项如下所示。 不用说,您必须使用sudo
来添加用户。
sudo useradd -s /bin/bash -m -c "Mary Quinn" -Gsambashare maryq
该命令由以下部分组成:
- sudo :我们需要管理员权限来允许新用户访问计算机。
- useradd :
useradd
命令。 - -s /bin/bash :外壳选项。 这将为此新用户设置默认 shell。
- -m :创建主目录选项。 这将在“/home/”目录中创建一个目录,其名称与新用户帐户名称相同。
- -c “Mary Quinn” :新用户的全名。 这是可选的。
- -Gsambashare :附加组选项。 这是可选的。 新用户被添加到与其帐户名称同名的组中。
-G
选项(注意,大写“G”)将用户添加到补充组。 这些组必须已经存在。 我们还将新用户设为“sambashare”组的成员。 - maryq :新用户帐户的名称。 这必须是唯一的。 它不能已被其他用户使用。
这将创建新的用户帐户,创建他们的主目录,并使用一些默认的隐藏文件填充它。 我们可以像这样查看他们的主目录:
sudo ls -ahl /home/maryq
我们的新用户将无法登录。我们还没有为他们创建密码。 可以使用-p
(密码)选项将密码传递给useradd
命令,但这被认为是不好的做法。 此外,您必须以加密形式提供密码,因此它并不像听起来那么简单。
使用passwd
命令为新帐户设置密码更容易,也更安全。
sudo 密码 maryq
系统会提示您输入密码,然后要求您再次输入密码以进行验证。 此密码必须安全地传达给新用户。 建议在他们登录时提示他们更改密码。这意味着他们可以选择自己的密码,其他人不会知道。
sudo passwd --expire maryq
通过查看“/etc/passwd”文件,我们可以看到我们的新用户帐户并将其与现有帐户进行比较。
grep -E "dave|maryq" /etc/passwd
按顺序,冒号“:”分隔的字段是:
- maryq :用户帐户的名称。
- x :此字段中的“x”表示用户帐户密码已加密并保存在“/etc/shadow”文件中。
- 1001 :用户账户ID。
- 1001 :此用户帐户的默认组 ID。
- Mary Quinn :这是 GECOS 领域。 它可以包含一组逗号“,”分隔的额外信息值。 我们添加的只是用户的全名。
- /home/maryq :此帐户的主目录路径。
- /bin/bash :此帐户的默认 shell 的路径。
当我们的新用户首次登录时,他们将使用您为他们创建的密码。
因为我们将他们的密码设置为“过期”状态,所以系统会提示他们更改密码。 他们必须重新输入现有密码。
然后系统会提示他们输入新密码。
一旦他们输入新密码并点击“Enter”,他们将被要求重新输入密码以进行验证。
最后,他们登录了。从现在开始,他们必须使用新密码登录。
执行一些内务处理,并在它们的主目录中为它们创建通常的“文档”、“下载”和其他目录。
GECOS 字段最多可以包含五个以逗号分隔的信息。 这些很少使用。 如果有任何填充,它通常是第一个,它包含此帐户所有者的真实名称。

这些字段是:
- 此用户的真实名称。
- 该用户的房间号。
- 他们的工作电话。
- 他们家里的电话。
- 任何其他信息。
如果我们想在创建帐户时提供所有这些,我们可以这样做,如下所示:
sudo useradd -s /bin/bash -m -c "Mary Quinn,Operations 1,555-6325,555-5412,Team Leader" -Gsambashare maryq
我们可以用grep
查看这个信息已经存放在“/etc/passwd”文件中。
grep maryq /etc/密码
如果您在创建帐户时手边没有此信息,可以稍后使用chfn
命令添加或更改。
此信息由finger
和pinky
等命令使用。
手指玛丽克
使用 adduser 命令
adduser
命令将帐户的创建、其主目录、设置密码和捕获 GECOS 字段信息包装到一个交互式会话中。
adduser
命令已经存在于我们的 Ubuntu 和 Fedora 测试机上,但必须安装在 Manjaro 上。 它位于 Arch User Repository 中,因此您需要使用 AUR 帮助程序(例如yay
来安装它。
耶添加用户
要启动该过程,请使用sudo
并提供您要添加的用户帐户的名称:
sudo 添加用户 maryq
创建用户帐户的默认组,并添加该用户帐户作为其默认组。 创建主目录并将隐藏的配置文件复制到其中。
系统会提示您提供密码。
当您提供密码并点击“Enter”时,系统会提示您重新输入密码以进行验证。
依次要求您提供可以进入 GECOS 字段的每条信息。
提供一些信息并点击“Enter”移动到下一个字段,或者直接点击“Enter”跳过一个字段。
最后,系统会询问您提供的信息是否正确。 按“Y”键,然后按“Enter”完成该过程。
请记住将新帐户的密码设置为“已过期”,以便新用户在首次登录时需要更改密码。
sudo 密码 --expire maryq
使用 GNOME 用户设置(GUI 选项)
要在 GNOME 桌面环境中创建新用户,请通过单击 GNOME 面板右侧边缘(靠近电源、音量和网络图标)打开系统菜单。
单击“设置”菜单项。
设置应用程序将打开。 单击侧边栏中的“用户”条目,然后单击“用户”窗格中的“解锁”按钮。
您将需要输入密码。
将出现一个绿色的“添加用户”按钮。
单击此按钮。 出现“添加用户”对话框。 它包含一个用于捕获新用户详细信息的表单。
使用新用户的详细信息填写表格。 如果您希望他们能够使用sudo
,请单击“管理员”按钮。
您可以现在设置他们的密码,也可以让他们在首次登录时选择密码。如果您设置密码,您必须记住打开终端窗口并使用passwd
命令将其设置为“过期” “ 状态。 这将迫使他们在第一次登录时设置自己的密码。
当您尝试使用 GUI 来完成新用户的创建时,不得不去终端有点痛苦。
如果单击“允许用户在下次登录时设置自己的密码”单选按钮,用户在尝试登录时会提示输入新密码。但这里的缺点是第一个尝试使用新帐户的人可以设置密码。 因此,任何知道该帐户已创建并且击败真正的新用户尝试登录的人都可以接管该帐户。
这两种情况都不是理想的。
完成表格并做出选择后,单击绿色的“添加”按钮。
我们选择了“允许用户在下次登录时设置自己的密码”选项。 当用户尝试登录时,系统会提示他们输入新密码。 但是,与我们之前看到的序列不同的是,系统不会提示他们输入当前密码——他们没有密码。
如您所料,他们必须再次输入以验证它。
我应该使用哪种添加用户的方法?
不确定我们概述的哪种用户创建技术最适合您? 好吧, useradd
命令提供了精细的控制,但是在命令行上还有很多事情要做。
adduser
命令使生活更轻松,但不允许您将新用户输入其他组。
无论您选择哪个密码单选按钮,GNOME 中的 GUI 方法都有缺点。
在大多数非正式或家庭情况下, adduser
命令可能会为您提供能力和功能之间的最佳平衡。 如果您需要将新用户添加到其他组,您可以在创建后使用usermod
命令执行此操作。
相关:在 Linux 上将用户添加到组(或第二组)