如何从组中删除用户?

Eon*_*nil 127 users

我在admin组中添加了一个用户帐户,发现我添加了错误的用户。所以我现在必须从admin组中删除该帐户。

如何在不删除用户的情况下从组中删除帐户?

小智 173

Portablejim 的回答准确但很危险——如果你打错了一些东西,你的系统可能无法使用,特别是如果你不正确地更改了管理员组。如果您必须编辑组文件,请使用vipw -gorvigr命令,在保存之前验证语法。即便如此,还有更好的方法。

在命令行中,您可能想要使用的命令如下(以 root 身份):

deluser <username> <groupname>
Run Code Online (Sandbox Code Playgroud)

这将从指定的组中删除指定的用户。您必须重新登录才能看到效果。它不会删除用户或组,只会删除成员资格。也有使用usermod命令执行此操作的方法,但它更难使用,因为您需要替换用户的整个组列表才能删除单个组。该gpasswd命令也能够执行此操作(如 sagarchalise 指出的那样),但大多已被弃用。与往常一样,请参阅手册页以获取更多详细信息。

  • `gpasswd` 没有被弃用。它的全部目的是管理 /etc/group 和 /etc/gshadow。此外,虽然您的方法确实有效,并且在 deluser 手册页中有所提及,但它有点冒险。如果您在键入组名之前不小心按了 Enter,则您已删除该用户。最好希望您记住它的 UID,以便您可以快速将其添加回来。使用专为此目的而设计的 gpasswd 会更安全。 (11认同)

sag*_*ise 62

你可以这样做:

sudo gpasswd -d username group
Run Code Online (Sandbox Code Playgroud)

请参阅:http : //manpages.ubuntu.com/manpages/focal/en/man1/gpasswd.1.html

-d, --delete user 从命名组中删除用户。

  • `gpasswd` 的一个优点是它更跨平台,并且也适用于基于 Red Hat 的发行版。 (5认同)
  • 这是正确的答案。要是能升到顶峰就好了。 (2认同)