如果我使用 command: adduser [username] [groupname]
,那么用户将被添加到组中,然后文件/etc/group
将被更新。
但是,该文件/etc/passwd
未更新。如果我通过命令检查我属于哪个组,groups
我只能看到passwd
文件中指定的组。因此,不会根据此结果将用户添加到组中。
镜像问题:https://stackoverflow.com/questions/31530362/where-how-is-user-group-information-stored-in-ubuntu。 (得到答案后我会删除其中之一)
我很困惑。
/etc/passwd
将故事组信息分别写入、 和有何含义/etc/group
?- 为什么
adduser
只更新group
文件? - 如何
passwd
通过命令将组添加到文件中? - 为什么
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。