Linux 提供了通用的用户/组结构。在本文中,我们将探讨如何创建用户并将用户添加到组。
注意:这些说明在使用 Red Hat Enterprise Linux、Fedora 和 CentOS 时有效。它们也在 Fedora 上得到了验证。
用户
在 Linux 中,每个进程都有一个关联的用户,它告诉您谁启动了该进程。每个文件/目录都归一个用户和一个组所有。与文件/目录关联的用户可以知道哪个用户有权访问该文件以及他们可以对该文件执行什么操作。与进程关联的用户决定了该进程可以访问什么。
组
组是用户的集合。组决定了用户对文件、目录和进程拥有的特定访问权限。如下所示,一个用户可以在给定时间成为多个组的成员。
要查看您以哪个用户身份登录以及您属于哪些组,请运行 id
命令

例如,uid=1000(kkulkarn)
显示我以 kkulkarn
(我的用户名)身份登录,并且我的用户 ID 是 1000
。
gid=1000(kkulkarn)
告诉我在哪个主组中,groups=...
告诉我我在哪些其他组中。这些其他组称为补充组。
创建用户
运行下面显示的命令来创建用户 alice
。如果您收到 Permission denied
错误,则需要 sudo
作为前缀。

由于我们在创建用户 alice 时没有设置密码,要切换用户并成为 alice,我们需要运行以下命令
sudo passwd alice
它会提示:New password
和 Retype new password
。我将密码设置为 demo
,系统响应:BAD PASSWORD
,因为它太短,因此容易受到攻击。但我继续操作,密码已设置;以下是消息输出
passwd: all authentication tokens updated successfully.

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

如您所见,提示符显示现在我们以 alice@localhost 身份工作。检查 pwd
(当前工作目录),您将看到我们在用户 alice 的 home
目录中。
注意:要使用 sudo
,您需要成为名为 wheel
的补充组的成员;否则您可能会看到错误:<username> is not in sudoers file. This incident will be reported

这是解决这种情况的方法。
如何将 alice 添加到 ‘wheel’ 组以授予 sudo 访问权限
运行
id alice
您将看到以下输出

这告诉我们 alice 是哪些主组和补充组的成员。
让我们修改 alice 以使其成为 wheel
组的成员,使用以下命令

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

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

如果您运行 ls -la
,您可以看到 dir1
的用户和组都是 root
用户,因为我们以 sudo
用户身份运行了 mkdir
命令。但是,如果您不使用 sudo
运行它,dir1
将由用户 alice
和组 alice
拥有。
既然您已经了解了 Linux 中的用户和组,那么如何创建用户并修改它以将其添加到组?您可能想要做的最后一件事是删除为此演示创建的用户。我不会解释如何做到这一点,但我会给您留下以下命令;运行它并亲自查看输出
id alice
sudo userdel -r alice
id alice
有关更多信息,请使用 --help 或 -h 选项查看这些命令的帮助,或运行 man
以
2 条评论