如何从 FreeBSD 中的所有辅助组中删除用户?

如何从 FreeBSD 中的所有辅助组中删除用户?

根据pw usermod文档:

-G grouplist 设置帐户的辅助组成员身份。 grouplist 是逗号、空格或制表符分隔的组名称或组编号列表。用户将被添加到 grouplist 中指定的组中,并从所有未指定的组中删除。当前登录会话不受组成员身份更改的影响,组成员身份更改仅在用户重新连接时生效。注意:请勿使用 grouplist 将用户添加到其主要组。

我试过

pw usermod test_user -G ''

但该命令根本没有任何作用。

解决方法:从除以下组之外的所有组中删除用户:

pw usermod test_user -G test_group

然后从该组中删除用户:

pw groupmod test_group -d test_user

但这需要创建一个垃圾组或了解其中一个用户组。有没有更简单的方法?

答案1

可悲的是,似乎没有一个简单的方法。但是,获取用户的辅助组的逗号分隔列表很简单:

pw usershow $user -P | grep Groups: | cut -w -f 3  

您可以轻松地迭代并使用:

pw groupmod $group -d $user

相关内容