我搜索一种干净的方法来删除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] 删除。
我来说两句