Ubuntu 中用户组信息存储在哪里以及如何存储?

Ubuntu 中用户组信息存储在哪里以及如何存储?

两个地方都可以:/etc/组/etc/密码

如果我使用 command: adduser [username] [groupname],那么用户将被添加到组中,然后文件/etc/group将被更新。

但是,该文件/etc/passwd未更新。如果我通过命令检查我属于哪个组,groups我只能看到passwd文件中指定的组。因此,不会根据此结果将用户添加到组中。


镜像问题:https://stackoverflow.com/questions/31530362/where-how-is-user-group-information-stored-in-ubuntu。 (得到答案后我会删除其中之一)

我很困惑。

  1. /etc/passwd将故事组信息分别写入、 和有何含义/etc/group
  2. 为什么adduser只更新group文件?
  3. 如何passwd通过命令将组添加到文件中?
  4. 为什么groups从文件返回组信息passwd,而不是group文件?

谢谢。

答案1

用户所属组的列表存储在/etc/group将用户添加到组时/etc/group更新。该/etc/passwd文件不会告诉您哪些用户属于哪些组。它只有用户默认组的组ID。该groups命令返回信息来自/etc/group

答案2

当您发出以下命令时,/etc/group 会列出所有组:

groups

它显示您所属的所有组,这些组来自 /etc/group

/etc/passwd 显示用户的所有信息,例如用户名、用户 ID、默认组 ID、主目录和默认 shell 等。创建后,用户将通过adduser.

另一个有趣的命令是:

id

这将列出所有真实有效的用户和组 ID。

相关内容