如何在 Linux 中将用户添加到组

这个逐步教程向您展示如何在 Linux 中创建新用户并将他们添加到组。
383 位读者喜欢这篇文章。
Top 5 Linux pain points in 2017

Internet Archive Book Images。由 Opensource.com 修改。CC BY-SA 4.0

Linux 提供了通用的用户/组结构。在本文中,我们将探讨如何创建用户并将用户添加到组。

注意:这些说明在使用 Red Hat Enterprise Linux、Fedora 和 CentOS 时有效。它们也在 Fedora 上得到了验证。

用户

在 Linux 中,每个进程都有一个关联的用户,它告诉您谁启动了该进程。每个文件/目录都归一个用户和一个组所有。与文件/目录关联的用户可以知道哪个用户有权访问该文件以及他们可以对该文件执行什么操作。与进程关联的用户决定了该进程可以访问什么。

组是用户的集合。组决定了用户对文件、目录和进程拥有的特定访问权限。如下所示,一个用户可以在给定时间成为多个组的成员。

要查看您以哪个用户身份登录以及您属于哪些组,请运行 id 命令

image 1

例如,uid=1000(kkulkarn) 显示我以 kkulkarn(我的用户名)身份登录,并且我的用户 ID 是 1000

gid=1000(kkulkarn) 告诉我在哪个主组中,groups=... 告诉我我在哪些其他组中。这些其他组称为补充组。

创建用户

运行下面显示的命令来创建用户 alice。如果您收到 Permission denied 错误,则需要 sudo 作为前缀。

Image 2

由于我们在创建用户 alice 时没有设置密码,要切换用户并成为 alice,我们需要运行以下命令

sudo passwd alice

它会提示:New passwordRetype new password。我将密码设置为 demo,系统响应:BAD PASSWORD,因为它太短,因此容易受到攻击。但我继续操作,密码已设置;以下是消息输出

passwd: all authentication tokens updated successfully.

作者截图,CC BY

现在让我们切换到新用户 alice,使用 su - alice,如下所示。在提示时输入密码 demo

image 4

如您所见,提示符显示现在我们以 alice@localhost 身份工作。检查 pwd(当前工作目录),您将看到我们在用户 alice 的 home 目录中。

注意:要使用 sudo,您需要成为名为 wheel 的补充组的成员;否则您可能会看到错误:<username> is not in sudoers file. This incident will be reported

image 5

这是解决这种情况的方法。

如何将 alice 添加到 ‘wheel’ 组以授予 sudo 访问权限

运行

id alice

您将看到以下输出

image 6

这告诉我们 alice 是哪些主组和补充组的成员。

让我们修改 alice 以使其成为 wheel 组的成员,使用以下命令

image 7

使用命令 usermod 和选项 -aG,告诉系统将 alice 添加到补充组 wheel。请注意,如果正确运行 usermod 命令,它不会显示任何输出。如果您然后运行 id alice,您应该会看到此输出。

 

image 8

由于 alice 现在是 wheel 组的成员,我们可以将用户切换到 alice,她应该能够以 sudo 用户身份创建目录 dir1

image 9

如果您运行 ls -la,您可以看到 dir1 的用户和组都是 root 用户,因为我们以 sudo 用户身份运行了 mkdir 命令。但是,如果您不使用 sudo 运行它,dir1 将由用户 alice 和组 alice 拥有。

既然您已经了解了 Linux 中的用户和组,那么如何创建用户并修改它以将其添加到组?您可能想要做的最后一件事是删除为此演示创建的用户。我不会解释如何做到这一点,但我会给您留下以下命令;运行它并亲自查看输出

id alice

sudo userdel -r alice

id alice

有关更多信息,请使用 --help 或 -h 选项查看这些命令的帮助,或运行 man打开 Linux 手册页。

标签
User profile image.
Kedar 是 Red Hat 的软件质量工程师,致力于 CloudForms(上游 ManageIQ)项目,主要负责内部基础设施的部署/管理。对用于自动化部署的 Jenkins Pipeline 和 Ansible 感兴趣。还编写用于监控和警报的 Shinken 模块。

2 条评论

本教程应指出它仅适用于某些发行版。

对于基于 Debian 的发行版,useradd 命令不会创建主目录,请改用 adduser。此外,默认情况下没有 wheel 组,请改用 sudo 组。

尽管系统用户 alice 将被编辑以作为辅助组(而不是主组)添加到组中,但应注意,为了确保;终止 alice 的所有会话 sudo pkill -9 -u alice 并强制 alice 重新登录似乎在我使用过的所有 Linux 系统上都是必要的。

Creative Commons License知识共享许可 本作品根据知识共享署名-相同方式共享 4.0 国际许可协议获得许可。
© . All rights reserved.