如何在 Linux 上添加用户

已发表: 2022-06-30
显示 bash 提示符的 Linux 笔记本电脑
fatmawati achmad zaenuri/Shutterstock.com

将用户添加到 Linux 计算机是一项基本的管理任务,有多种方法可以实现这一点。 每种方法都有优点和缺点。 我们为您解释三种不同的技术。

目录

计算机需要用户
useradd 命令
adduser 命令
图形用户界面方法
决定 决定

计算机需要用户

没有用户的个人计算机实际上并不算多。 Linux 支持多用户。 无论是同时登录并共享计算机的电源,还是独享机器时单独登录,每个人都需要一个唯一的用户帐户。

用户帐户封装了该用户的工作并提供隐私。 它还允许将控制和治理应用于帐户。 不同的用户可以通过更改其用户帐户的属性(例如他们所属的组)来根据他们的需要或他们的角色或功能具有不同的能力。

如何在 Linux 中列出用户
相关如何在 Linux 中列出用户

无论您是与家庭成员共享计算机还是管理组织的多用户安装,创建用户帐户都是一项基本的管理技能。

Linux 是 Linux,您有多种方法可供选择。 我们将引导您完成三种方法——两种命令行方法和一种基于 GUI 的方法——以便您选择您认为最适合您的方法。

useradd 命令

useradd命令是用于添加用户的最低级命令。 其他命令充当useradd命令的更友好的前端。 这增加了一些便利性并使过程更容易,但其他命令不会做任何你无法使用useraddpasswd命令的帮助来实现的事情。

useradd命令有很多选项,添加典型新用户所需的选项如下所示。 不用说,您必须使用sudo来添加用户。

 sudo useradd -s /bin/bash -m -c "Mary Quinn" -Gsambashare maryq 

使用 useradd 添加典型用户

该命令由以下部分组成:

  • sudo :我们需要管理员权限才能允许新用户访问计算机。
  • useradduseradd命令。
  • -s /bin/bash :shell 选项。 这会为这个新用户设置默认 shell。
  • -m :生成主目录选项。 这将在“/home/”目录中创建一个目录,其名称与新用户帐户名称相同。
  • -c “Mary Quinn” :新用户的全名。 这是可选的。
  • -Gsambashare :附加组选项。 这是可选的。 新用户将添加到与其帐户名同名的组中。 -G选项(注意,大写“G”)将用户添加到补充组。 这些组必须已经存在。 我们还让新用户成为“sambashare”组的成员。
  • maryq :新用户帐户的名称。 这必须是唯一的。 它不能已被其他用户使用。

这将创建新的用户帐户,创建他们的主目录,并使用一些默认隐藏文件填充它。 我们可以像这样查看他们的主目录:

 sudo ls -ahl /home/maryq 

添加到新用户主目录的默认配置文件

我们的新用户将无法登录。我们尚未为他们创建密码。 可以使用-p (密码)选项将密码传递给useradd命令,但这被认为是不好的做法。 此外,您必须以加密形式提供密码,因此它并不像听起来那么简单。

使用passwd命令为新帐户设置密码更容易,也更安全。

 须藤密码 maryq 

设置新帐户的密码

系统会提示您输入密码,然后要求您再次输入密码以进行验证。 此密码必须安全地传达给新用户。 建议他们在登录时提示更改密码。这意味着他们可以选择自己的密码,其他人不会知道。

 sudo passwd --expire maryq 

将新用户的密码设置为过期状态

我们可以通过查看“/etc/passwd”文件来查看我们的新用户帐户并将其与现有帐户进行比较。

 grep -E "dave|maryq" /etc/passwd 

比较新用户帐户和另一个帐户的 /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 

使用 useradd 添加具有填充 GECOS 字段的新用户

我们可以使用grep来查看该信息是否已存储在“/etc/passwd”文件中。

 grep maryq /etc/passwd 

使用 grep 查看 /etc/passwd 中新用户的条目

如果您在创建帐户时手头没有此信息,可以稍后使用chfn命令添加或更改。

此信息由诸如fingerpinky等命令使用。

 手指玛丽q 

在新用户上使用手指命令

adduser 命令

adduser命令将帐户的创建、其主目录、设置密码和捕获 GECOS 字段信息打包到一个交互式会话中。

adduser命令已经存在于我们的 Ubuntu 和 Fedora 测试机器上,但必须安装在 Manjaro 上。 它位于 Arch 用户存储库中,因此您需要使用 AUR 助手(例如yay )来安装它。

 是的,添加用户

在 Manjaro 上使用 yay 安装 adduser

要开始该过程,请使用sudo并提供您要添加的用户帐户的名称:

 sudo adduser maryq

将创建用户帐户的默认组,并将该用户帐户添加为默认组。 创建主目录并将隐藏的配置文件复制到其中。

系统会提示您提供密码。

使用 adduser 添加新用户

当您提供密码并按“Enter”时,系统会提示您重新输入密码以进行验证。

依次询问您可以进入 GECOS 字段的每条信息。

使用 adduser 设置新帐户的密码

提供一些信息并点击“Enter”移动到下一个字段,或者直接点击“Enter”跳过一个字段。

adduser 命令中完成的 GECOS 信息

最后,系统会询问您提供的信息是否正确。 按“Y”键,然后按“Enter”完成该过程。

请记住将新帐户的密码设置为“已过期”,以便新用户在首次登录时需要更改密码。

 sudo 密码 --expire maryq 

将新用户的密码设置为过期状态

图形用户界面方法

单击 GNOME 面板的右侧边缘,靠近电源、音量和网络图标,打开系统菜单。

GNOME 系统菜单

单击“设置”菜单条目。

设置应用程序将打开。 单击边栏中的“用户”条目,然后单击“用户”窗格中的“解锁”按钮。

设置应用程序中的用户窗格

您需要输入密码。

在设置应用程序中进行身份验证

将出现一个绿色的“添加用户”按钮。

设置应用程序中未锁定的用户窗格

单击此按钮。 出现“添加用户”对话框。 它包含一个捕获新用户详细信息的表单。

添加用户对话框

用新用户的详细信息填写表格。 如果您希望他们能够使用sudo ,请单击“管理员”按钮。

您可以现在设置他们的密码,也可以让他们在他们第一次登录时选择密码。如果您设置了密码,您必须记住打开终端窗口并使用passwd命令将其设置为“过期“ 状态。 这将迫使他们在第一次登录时设置自己的密码。

如何在 Linux 上控制 sudo 访问
相关如何在 Linux 上控制 sudo 访问

当您尝试使用 GUI 来完成新用户的创建时,不得不去终端是有点痛苦的。

如果您单击“允许用户在下次登录时设置自己的密码”单选按钮,则会在用户尝试登录时提示输入新密码。但这里的缺点是第一个尝试使用新帐户的人可以设置密码。 因此,任何知道该帐户已创建并且击败真正的新用户尝试登录的人都可以接管该帐户。

这两种情况都不是理想的。

完成表格并做出选择后,单击绿色的“添加”按钮。

我们选择了“允许用户在下次登录时设置自己的密码”选项。 当用户尝试登录时,系统会提示他们输入新密码。 但是,与我们之前看到的序列不同,他们不会被提示输入当前密码——他们没有密码。

新用户被迫选择新密码

如您所料,他们必须再次输入以进行验证。

验证新密码

决定 决定

useradd命令提供了精细的控制,但在命令行上还有很多事情要做。

adduser命令使生活更轻松,但不允许您将新用户输入其他组。

无论您选择哪个密码单选按钮,GUI 方法都有缺点。

在大多数非正式或家庭情况下, adduser命令可能会为您提供能力和功能之间的最佳平衡。 如果您需要将新用户添加到其他组,您可以在创建新用户后使用usermod命令执行此操作。

相关:在 Linux 上将用户添加到组(或第二组)