我添加了一个新组。然后我注销并重新登录,但 groups 命令不显示该组。如果我尝试添加该组,则会收到错误消息。是什么赋予了?
me@z80hd2:~$ groupadd sdk_users
groupadd: group 'sdk_users' already exists
me@z80hd2:~$ groups
me adm cdrom sudo dip plugdev lpadmin sambashare
me@z80hd2:~$
答案1
因为你是我的用户:)。所以你只能看到你所在的组。如果你想看到你创建的组,你应该查看/etc/group:
cat /etc/group | grep sdk_users
sdk_users:x:1001:
查看这里了解更多。
答案2
该groupadd
命令在系统上创建一个组。它不会使您的用户成为该组的成员。
该groups
命令将列出您的用户帐户的组成员身份,并且不会告诉您您不属于的系统组。
除非您有复杂的身份验证系统,否则该组很可能已添加到 /etc/group 文件中,这就是groupadd sdk_users
告诉您该组存在的原因。您可以通过运行来检查它是否存在grep sdk_users /etc/group
。
/etc/group 中的典型条目包含以下形式的列表
GROUP_NAME:PASSWORD:NUMERIC_GID:USER1,USER2,USER3
密码通常为“x”,表示没有密码。如果用户部分为空,则没有用户是该组的成员。
基于您期望注销并运行的结果group
,我假设您期望您的用户成为 sdk_users 的成员。groupadd
不添加您的用户。您需要运行另一个命令将您的用户添加到组中。在基于 Debian 的系统(我假设是其他系统)上,命令是
usermod --append --groups sdk_users me
除了您已经是其中成员的所有组之外,这还会修改用户“me”的组成员身份,以包括组“sdk_users”。
将用户添加到组后,您需要注销并重新登录。然后您应该在运行时看到列出的新组groups
。
要了解有关 usermod 的更多信息,您可以man usermod
在终端上键入,或者只需在互联网上搜索“usermod 联机帮助页”,但是在查看了 groupadd 联机帮助页之后,我可以肯定地看到,对于刚接触 * 的人来说,这些信息不一定足够清晰尼克斯。