gpt4 book ai didi

linux - "/etc/passwd"和 "/etc/group"之间不一致

转载 作者:太空宇宙 更新时间:2023-11-04 04:52:17 29 4
gpt4 key购买 nike

场景1:

我有 2 个用户,每个用户都有不同的主要组。对于 user1,主要组是 GID 501 的 group1。对于 user2,主要组是 GID 502 的 group2。

我编辑了 /etc/passwd,以便 user1 现在的 GID 600。但是,我忘记创建一个 GID 600 的新组(并且我也没有编辑 /etc/group)。

令我惊讶的是,即使我从未创建过 GID 600 的组(因此 /etc/group 中没有这样的组),一切都正常工作,就好像这样的组存在一样:

示例:

1) 用户1 创建新文件- test.txt 后,用户2 无法读写该文件。

2)运行ls -l时,我可以看到test.txt属于GID 600。

我错过了什么?为什么即使 /etc/passwd/etc/group 之间存在不一致,它仍然有效?

<小时/>

场景 2:

假设我有一个 GID 1000 的群组。当运行 useradd -c "name"test2 -g 1000groups test2 时,我可以看到 test2 的主要组是 1000。

但是,在 /etc/group 中,我看到的只是 test_group:x:1000:,这意味着 test2 不是 test_group 的成员。

此外,运行useradd -c "name"test3后,我在/etc/group中有test3:x:8093:

你能解释一下为什么会发生这种情况吗?

谢谢。

最佳答案

非编程问题,预计会有反对票...您应该在 super 用户或 unix.se 上询问

也就是说,UID 编号到 GID 编号没有映射,要求它们具有相同的值。想想当您添加一些用户,然后创建一个或两个组供他们共享,然后添加更多用户时会发生什么。 “下一个可用”GID/UID 对的值不匹配,但这并不重要。

当您查看用户的主要组时,他们不会在 groups 文件中作为成员列出,因为他们的主要组信息位于 passwd 文件中。

如果您手动更改 UID 号或 GID 号,请记住查找没有所属用户或组的文件/目录,并进行适当的修复。

此外,当涉及 UID 编号和 GID 编号时,有 0(根)和其他所有内容 - 对它们来说没有特殊含义。一致认为,“系统用户”类型帐户的数量较低,大多数发行版开始创建 UID/GID 为 1000 的“普通”用户

关于linux - "/etc/passwd"和 "/etc/group"之间不一致,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54852242/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com