错误消息 ID:登录后找不到组 ID 的名称

错误消息 ID:登录后找不到组 ID 的名称

背景

Trevor 作为盒子上的开发人员之一登录他在 ssh://foobar.university.edu 上的帐户,他收到以下消息:

 id: cannot find name for group ID 131

Trevor 然后使用以下命令检查这一点

 vim /etc/group

问题

特雷弗发现那里/etc/group 文件中的任何位置都没有 131。

特雷弗然后运行 ​​id ...

 > id trevor
 uid=4460(trevor) gid=131 groups=48(foobar),51(doobar),131

发现他的主要团体显然没有附加名称。

问题

  • 可能发生了什么原因导致 foobar.university.edu 框出现这种情况?
  • 假设 Trevor 想要解决这个问题(例如,通过创建一个映射到 GID 131 的“trevor”组),在不破坏服务器上任何其他内容的情况下,最好的方法是什么?

答案1

可能发生的情况是 UID 和 GID 通过 LDAP 提供给服务器。如果该/etc/group文件不包含 GID 的翻译,则服务器管理员可能无法更新组定义。你能做什么?不多。用户ID由管理员控制。 (现在,如果您碰巧拥有 ROOT 权限,则可以将该组添加到 中/etc/group。您还应该检查是否有任何其他用户帐户正在使用同一组,如果是,请适当地命名该组)。

答案2

当我的用户“jackson”没有分配组时,就会发生这种情况。我知道我的用户的单独组 id 是 1000(当创建用户$ adduser且未定义任何参数时,会为该用户分配 999 之外的下一个可用 id。第一个获取 uid 1000 和 gid 1000)。

此警告意味着您的用户不属于某个组,因此您需要做的是将用户添加到组中。要么让你的管理员帮助你,就像@sparticvs提到的那样,或者如果你有root权限/这是你的机器,你可以执行以下操作:

$ addgroup [your_user_name]
$ usermod -a -G [your_user_name] [your_user_name]

这应该可以解决它(未经测试的

我所做的很简单(先进的)

  • $ sudo vi /etc/group
  • 将行修改web:x:1001:web:x:1000:jackson

这使我的用户jackson属于该web组。

仅供参考,如果您不熟悉,vim我不推荐“高级”步骤,如果您真的非常绝望使用$ sudo nano /etc/group

答案3

如果您运行的虚拟机通常从 LDAP 获取数据但无法连接,也可能会发生这种情况。我确信有办法解决这个问题,但我通常只是在连接再次可用后重新启动它。

答案4

如果您使用 AD 进行身份验证,可能是在 sshd 配置中您没有启用参数auto_private_groups = true,并且登录操作系统后无法创建私有组,需要 chmod /home/user 来纠正权限。查看:

[domain/YOUR_DOMAIN]
...
# https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html/windows_integration_guide/gid-for-ad-users
# virtual private groups
auto_private_groups = true

而不是重新启动sssd并重新登录。

相关内容