在 Ubuntu 20.04 LTS 中添加和管理用户帐户

当您想向系统添加多个用户时,用户管理成为一个重要的考虑因素。 如果您系统上的用户管理无效,您可能不得不损害安全性以及对系统上私人和敏感信息的访问。 本文介绍了可用于有效控制用户管理的简单技术。 它涵盖了从用户界面和命令行进行的用户和组管理过程,您可以通过非常简单的步骤执行这些过程。

我们在 Ubuntu 20.04 系统上运行本文中描述的命令和进程。 请注意,您必须具有 root 权限才能执行此处描述的任务。 那么我们先来了解一下什么是root?

了解root用户

在我们开始用户管理之前,了解 Linux 中的 root 用户是很重要的。 默认情况下,Ubuntu 不允许 root 用户直接登录(但其他 Linux 发行版如 Debian 和 CentOS 允许直接 root 登录); 因此,Ubuntu 创建了一个名为“sudo”,允许您执行各种管理操作。 随着 sudo 命令,您必须指定密码,这有助于让用户以管理员身份负责所有操作。 默认情况下,在安装 Ubuntu 期间创建的第一个用户被赋予 sudo 特权。 它被赋予完全的 root 权限并被添加到 /etc/sudoers 文件中的 sudoers 列表中。

需要注意的是,您必须是授权的 sudoer 用户才能执行本文中说明的所有用户管理操作。

管理用户

可以通过UI向Ubuntu系统添加用户; 但是,高级用户管理需要通过命令行来完成。

通过 GUI 添加用户

请按照以下步骤通过 Ubuntu 的图形界面添加用户:

通过 Ubuntu Dash 或单击位于 Ubuntu 屏幕右上角的向下箭头打开“帐户设置”对话框。 单击您的用户名,然后选择帐户设置,如下所示:

将打开以下用户对话框。 请注意,默认情况下所有字段都将被禁用。 您需要提供身份验证才能进一步使用此对话框。 单击位于“用户”对话框右上角的“解锁”按钮。

解锁用户对话框

以下身份验证对话框将为您打开以作为管理员提供身份验证信息,因为只有这样您才能创建或编辑用户帐户:

确认您在这台计算机上拥有管理权限

请提供您的密码,然后单击 认证 按钮。 您现在将能够看到“用户”对话框中的所有字段都已启用以供您处理:

添加用户对话框

点击 添加用户 按钮。 将打开以下添加用户对话框,供您输入要创建的新用户的详细信息:

创建标准或管理用户

您可以通过此对话框指定是要创建标准用户还是管理用户。 同样重要的是要知道,将新用户的密码字段留空不是一个好的安全做法。 这样,任何用户都可以登录并访问您系统上的私人和安全数据。

点击 添加 按钮,只有当您在“添加用户”对话框中提供了所有有效信息时才会启用该按钮。

现在将创建新用户,您将能够在“用户”对话框中看到它,如下所示:

Ubuntu 中的 Linux 用户列表

通过命令行添加用户

Ubuntu 命令行为管理员提供了更多的控制权来执行用户管理操作。 请按照以下步骤通过命令行添加用户:

  1. 按 Ctrl+Alt+T 或通过 Ubuntu Dash 打开终端。
  2. Enter 以下命令以添加新用户:
$ sudo adduser [username]

使用 adduser 命令添加用户

您将需要输入密码 sudo. 该命令将要求为新用户键入并重新键入密码(用于重新确认)。 您可以选择提供或忽略输入新用户的生物数据,因为它是可选的。

Enter 如果您提供的信息正确,然后点击 Enter 钥匙。

现在将在您的 Ubuntu 系统上创建新用户。

列出所有用户

作为 Ubuntu 管理员,您可以通过以下命令查看添加到您系统中的用户列表:

$ awk -F':' '$2 ~ "$" {print $1}' /etc/shadow

列出 shell 上的所有用户

在这张图中,sana 是管理员,guest 是我们通过 UI 创建的用户,guest 用户是我们通过命令行创建的用户。

锁定/解锁用户帐户

Ubuntu 允许您通过以下命令临时锁定和解锁任何用户帐户:

$ sudo passwd -l username $ sudo passwd -u username

被锁定的用户在他/她处于锁定状态之前将无法登录系统。

授予用户根权限

如果您想为用户授予 root 权限,则需要编辑包含系统上 sudoer 列表的 visudo 文件。

通过以下命令打开visudo文件:

$ sudo nano visudo

此命令将在 Nano 编辑器中打开 visudo 文件。

在文件中添加以下几行:

[username] ALL=(ALL) ALL

此行将为指定用户提供完全的 root 权限。

User_Alias ADMINS = [username]  Cmnd_Alias HTTPD = /etc/init.d/httpd  ADMINS ALL = HTTPD

这些行将创建一组用户,然后您可以为其分配命令别名。

visudo 文件的内容

Exit 通过 Ctrl+X 输入文件,然后输入 Y 和 Enter 为了保存您对 visudo 文件所做的更改。

我们示例中的“来宾”用户现在将能够执行所有 root 操作。

通过命令行删除用户

您可以使用以下命令通过命令行删除用户:

$ sudo deluser [username]

通过命令行删除用户

在本例中,我们删除了访客用户。 请记住,如果用户从没有更多成员的组中删除,该用户组也将自动删除。

通过 GUI 删除用户

您可以通过图形界面执行删除用户的简单任务,如下所示:

  1. 打开 帐号设定 通过 Ubuntu dash 或单击位于 Ubuntu 屏幕右上角的向下箭头打开对话框。 单击您的用户名,然后选择帐户设置。
  2. 用户对话框 将打开。 请注意,所有字段都将被禁用。 您需要提供身份验证才能进一步使用此对话框。 点击 开锁 按钮位于用户对话框的右上角。
  3. 选择要删除的用户的用户名,然后单击 删除用户 按钮如下:

通过 GUI 删除 Ubuntu 用户

系统将通过以下对话框询问您是否要从系统中丢弃或保留已删除用户的文件

选择是否要保留用户的文件

您可以通过相应的按钮选择删除或保留文件。 然后该用户将从您的系统中删除

删除/归档已删除用户的主文件夹

当您从系统中删除用户时,其主文件夹可能仍位于您的计算机上,具体取决于您在删除用户时所做的选择。 您可以手动删除此文件夹或将其存档。 您使用与已删除用户相同的用户 ID 或组 ID 创建的新用户现在可以访问他/她的文件夹。 您可能希望将这些 UID/GID 值更改为更合适的值,例如 root 帐户,您甚至可以通过以下命令选择重新定位文件夹以避免将来发生冲突:

$ sudo chown -R root:root /home/username/ $ sudo mkdir /home/archived_users/ $ sudo mv /home/username /home/archived_users/

管理群组

Ubuntu 允许您为系统上的用户创建组。 通过这种方式,您可以将管理权限和文件访问权分配给整个组,而不是一次分配给单个用户。

您只能通过命令行在 Ubuntu 18 上执行组管理。

添加组

要添加新用户组,请输入以下命令:

$ sudo addgroup [groupname]

例子:

添加 Linux 组

将创建一个新组并为其分配一个唯一的组 ID(GID)。

将用户添加到组

您可以通过以下命令将现有用户添加到组中:

$ sudo adduser [username] [groupname]

例子:

将用户添加到组

查看群组信息

要查看组的成员,请使用以下命令:

$ groups username

您可以使用以下命令列出组成员及其 GID

$ id username

查看群组信息

gid 输出表示分配给用户的主要组。 请进一步阅读以了解什么是主要和次要组。

更改用户的主要组

一个用户可以是一个或多个组的一部分; 其中一个是主要组,其他是次要组。 在 id 命令的输出中,gid 表示用户的主要组。 要更改用户的主要组,请使用以下命令:

$ sudo usermod -g [newPrimaryGroup] [username]

例子:

更改用户的主要组

您现在可以看到通过 id 命令获取的新 gip 是新分配的主要组的 gip。

创建用户时分配组

您可以在创建新用户的同时为用户分配一个组,如下所示:

$ sudo useradd -G [groupname] [username]

例子:

创建用户时分配组

为用户设置或更改密码

请注意,此新用户尚未分配密码。 这不是一个好的安全做法,因此您应该尽快通过以下命令为这个新用户分配密码:

$ sudo passwd [username]

例子:

更新用户密码

新用户现在将拥有密码。

请在下面的 UI 图像中查看系统如何在分配密码之前禁用用户帐户。

未设置密码时禁用登录

列出所有组

您可以通过以下命令列出驻留在系统上的所有组:

$ sudo getent group

删除群组

为了从您的系统中删除用户组,您可以使用以下命令:

$ sudo delgroup [groupname]

本文解释了如何管理 Ubuntu 系统上的用户和组以进行有效的权限控制。 您可以通过本教程中描述的有用步骤,以管理员身份管理用户或向其他用户授予管理权限以执行这些操作。