首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >/etc/passwd显示组中的用户,但/etc/group不显示

/etc/passwd显示组中的用户,但/etc/group不显示
EN

Server Fault用户
提问于 2014-06-17 17:06:48
回答 4查看 38.5K关注 0票数 11

我想验证用户帐户filesender_1是否是组valid_senders的成员。

当我查看/etc/group时,filesender_1不存在:

代码语言:javascript
运行
复制
valid_senders:x:12345:production_1

我将其解读为"production_1是组valid_senders的唯一成员,其组id为12345“。

然而:

当我查看/etc/passwd时,valid_senders的组id列出了filesender_1 .

代码语言:javascript
运行
复制
filesender_1:x:1515:12345:filesender_1:/local/home/filesender_1:/bin/sh

..。所以我知道valid_senders是filesender_1的主要组。

这是一个令人惊讶的差异,还是/etc/group只列出组次的成员是正常的?

EN

回答 4

Server Fault用户

回答已采纳

发布于 2014-06-17 17:12:24

是的,这种差异是正常的。我已经看过很多次了,我不再看/etc/passwd/etc/group文件,而是开始查看组成员的方式:getent group <groupname>groups <username>

票数 13
EN

Server Fault用户

发布于 2018-01-19 15:13:45

有一个名为members的程序,您可以在大多数linux发行版上安装,它列出了一个组的实际成员,不管它是他们的主组还是辅助组。

通常,当创建一个用户而没有指定一个具有-g或- gid的组时,默认行为是将他们的主组设置为他们的用户名,并且这个gid不会放在/etc/group文件中。因此,由用户joe创建的文件和目录将具有所有权-- joe:joe。但是您不会在/etc/group文件中找到组'joe‘。

如果将用户joe添加到“学生”组中,则运行

代码语言:javascript
运行
复制
getent group students

将在小组学生的用户列表中显示joe。

运行程序

代码语言:javascript
运行
复制
members <groupname>

在一个组中,将显示属于组名的主成员或辅助成员的用户。

票数 2
EN

Server Fault用户

发布于 2019-05-15 20:40:42

一般来说,系统管理员应该将用户添加到/etc/group中的主组成员列表中,因为getpwent()系列的系统调用将在调用时删除重复项。程序不应该直接读取/etc/group或/etc/passwd,它们应该使用系统调用。至少20年来,所有这些都是正确的,而且可能更久。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/605812

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档