从群组中删除所有用户

格雷戈里·穆萨特

我搜索一种干净的方法来删除sudo组中的每个用户。在安装过程中创建的用户的多个发行版上具有sudo权限,我不希望这样。我正在寻找一种适用于(几乎)每种情况的自动化方法。

基本上,我想清空一个组。

删除每个用户:GROUP=my_group; for u in $(getent group $GROUP | sed -e 's/^.*:.*:.*://' -e 's/,/ /g'); do echo gpasswd --delete $u $GROUP; done
此命令行有效:
1.如果该组不存在
2.如果该组为空
3.如果该组包含一个用户
4.如果该组包含多个用户
那么一切都很好。但是他们的事情更简单吗?

另一种方法是删除组,然后重新创建。丑陋的 ?

乌尔里希·丹格尔

通常,您不应该删除一个组,因为某些文件可能属于该组,但是对于您特定的sudo用例而言,这可能就足够了。

使用一个更通用的用例时gpasswd (1),它可以让您设置特定组的成员,因此足以运行:

gpasswd sudo -M ''

要仅在组sudo存在时运行此命令,可以将其与getent调用结合使用,即:

getent group sudo && gpasswd sudo -M ''

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章