用户和组管理

用户和组管理

在研究 Linux Essentials 时,我尝试从我创建的组中删除用户(我)。按照在线说明,我最终从所有默认组中删除了自己,现在我唯一的成员资格是在我自己的组中。

这是我的问题:

  1. 如何从特定组中删除用户?如果usermod允许使用 进行添加-a -G,则必须有一种类似简单的方法将用户从组中删除。
  2. 是否有可用于恢复我的组成员身份的命令? (即sudo团体、xdm团体等)
  3. 最后,是否手动编辑/etc/passwd/etc/group操作组成员身份、添加和删除?

如上所述,我刚刚完成了 Linux Essentials,所以我是一个初学者。在提供您的意见及其可能包含的任何说明时,请记住这一点。

答案1

下面我来回答你的问题:

  1. 如何从特定组中删除用户?
    您可以usermod在不使用该-a选项和使用该-G选项的情况下使用,但您需要列出您希望用户成为其成员的所有辅助组。我不知道如何按名称从组中删除用户。

  2. 是否有可用于恢复我的组成员身份的命令?
    是的,usermod。你会用usermod -G <comma_separated_list_of_groups> <username>.

  3. 手动编辑是否可以/etc/{passwd,group}操作组成员身份、添加和删除?
    是的,像这样的工具usermod 安全地操纵这些文件。您可以手动执行此操作,但如果您犯了错误,您可能会遇到无法再登录的用户。

答案2

最直接的答案是肯定的 -> 一切都发生在这两个文件/etc/passwd/etc/group.请记住给定帐户的密码存储在/etc/shadow.

默认情况下(例如在 RHEL/CentOS 7 中)任何新用户都会被创建并赋予自己的用户独特的群组名称(或 ID 号)。但不属于某个组并不会完全阻止登录。也就是说,我相信新用户帐户在创建帐户时会获得自己独特的组,但它们不是通用组的一部分用户组的典型组 ID 为 100。并且一切正常。

虽然可能不建议这样做,但出于正当理由,您在技术上可以简单地手动编辑/etc/passwd/etc/group创建新的用户帐户和新组。这实际上是所有命令useraddusermod技术上的作用。

当用户的主帐户不存在时,您可能会遇到问题拥有的由该用户执行,因此登录后通常会出现一个非常简单的 shell 提示,例如$警告。但从技术上来说用户仍然可以登录,只是会失去很多理所当然的功能。通过 SSH 通过网络登录通常仍然可以正常工作。但是在有图形的控制台上登录可能会失败,因为您无法访问自己的主文件夹(而不是因为组权限)。希望有帮助。

答案3

除了usermodAndy Dalton 介绍的之外,您还可以使用gpasswd

gpasswd -d username groupname

这会将用户从指定组中删除。这种方式不太繁琐,因为您可以简单地使用用户名和组名作为参数,而不是使用usermod.

手动编辑/etc/passwd/etc/group具有相同的效果,但如果您要这样做,请分别使用工具vipw -svigr -s。它们将防止文件中出现文本错误,这些错误可能导致任何人都无法登录。因此,请勿使用文本编辑器编辑它们vim

相关内容