首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ubuntu删除组按GID

Ubuntu删除组按GID
EN

Stack Overflow用户
提问于 2019-09-10 16:48:50
回答 1查看 1.4K关注 0票数 0

我最近使用了ansible的动态库存功能来管理一些ec2s。在开发一个脚本的过程中,在我的动态清单上创建和验证组时,我创建了大约80个组。由于脚本错误,这些组以安全组、ids、vpcs、标记名等命名。我想删除这些团体。

我认识到使用GIDs是最好的删除方式。但是,userdeldeluser命令都没有提供指定GID的选项。这导致我乏味地将我的动态目录中的所有组命名为删除。

我可以使用sudo cat /etc/groupgrep几乎可以得到一个名称列表,但是我发现只为外部组指定一个GID范围就更容易了。

我正在寻找一些shell命令或ansible模块,我可以添加到一个剧本。提供的任何代码或脚本都具有很高的价值。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-09-10 17:12:54

只需打印gid,每个转换为组名,并在每个组名上调用groupdel

代码语言:javascript
复制
 # print gid numbers separated by newlines
 printf "%s\n" 2000 2001 2002 $other_gid_number |
 # convert gid numbers to group names
 xargs -I{} awk -F: '$3 == {}' /etc/group | cut -d: -f1 |
 # to delete groups remove the echo
 xargs -n1 echo userdel

或者一个单身汉:

代码语言:javascript
复制
printf "%s\n" 2000 2001 2002 $other_gid_number | xargs -I{} awk -F: '$3 == {}' /etc/group | cut -d: -f1 | xargs -n1 echo userdel

sudo cat /etc/组

您不需要sudo来访问/etc/group。每个人都应该读懂它。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57875183

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档