将 root 添加到组

yat*_*ade 5 linux permissions user-profiles

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

# usermod -a -G thisgroup root
# groups
# root bin daemon sys adm disk wheel
#
Run Code Online (Sandbox Code Playgroud)

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

任何人为什么groups没有显示我的新添加?

Mat*_*lia 8

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)
Run Code Online (Sandbox Code Playgroud)

这正是您的情况:组数据库已更改,但当前进程的组成员身份尚未更新。如果您改为查询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
Run Code Online (Sandbox Code Playgroud)

长话短说:对于当前进程,root还不是成员thisgroup;你必须重新登录。