我使用以下命令将用户添加user01
到组中group01
:usermod -a -G group01 user01
当我运行命令时,id user01
它显示该用户实际上已被添加到组中。
但是,该文件/etc/group
没有反映这一点。即我相信在这个文件上,属于每个组的用户应该列在其旁边。如果我错了,请纠正我。
这是 CentOS 6.4 的全新安装
此外,由于id user01
显示已更新,有什么方法可以检查组内的所有成员group01
?
答案1
如果您运行,getent group group01
您应该会看到该组所有成员的列表。
答案2
/etc/group 是组信息的来源,但不一定是唯一的来源。如果您的系统设置为使用 NIS、LDAP 或其他用户/组信息来源,则该信息不一定反映在 /etc/group 中。
getent 读取并报告所有已配置的数据源,其中 /etc/group 只是其中之一。我特别使用 getent 是因为我将本地密码/组信息与远程 LDAP 源(使用 PAM 模块配置)结合使用,并且希望获得整合的信息。
此外,/etc/group 不会根据外部身份验证源自动更新。它是直接更新的,可以使用编辑器(例如 vi、emacs 等)或修改用户/组信息的工具(groupadd、useradd 等)。