将 root 添加到组

将 root 添加到组

我对 Linux 并不陌生,但我在 Fedora 15 机器上看到了这种奇怪的行为。我想将超级用户添加到名为 的组中thisgroup

# usermod -a -G thisgroup root
# groups
# root bin daemon sys adm disk wheel
#

^^thisgroup缺席了。令人惊讶的是,当我想到编辑时/etc/grouproot它就在那里!

有人知道为什么groups没有显示我的新添加内容吗?

答案1

从命令的手册页中groups

Print  group memberships for each USERNAME or, if no USERNAME is speci‐
fied, for the current process (which may differ if the groups  database
has changed)

这正是您的情况:组数据库已更改,但当前进程的组成员身份尚未更新。如果您改为查询用户的组成员身份,root您将获得正确的结果。

matteo@teomint:~$ sudo usermod -a -G test matteo
matteo@teomint:~$ groups
matteo adm dialout cdrom plugdev lpadmin admin sambashare
matteo@teomint:~$ groups matteo
matteo : matteo adm dialout cdrom plugdev lpadmin admin sambashare test

长话短说:对于当前流程,root还不是成员thisgroup;您必须再次登录。

答案2

您需要注销并再次登录 - 没有任何参数,该groups命令将打印当前进程所拥有的组,当您更改组数据库时这些组不会改变。

如果你这么做了,groups root那么你就会看到它被列为查阅文件/etc/group

相关内容