从组中删除用户的Perl或Python脚本

2024-06-01 09:58:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在组装一个基于Samba的服务器作为主域控制器,遇到了一个可爱的小问题,这个问题应该已经解决很多次了。但多次搜索都没有结果。我需要能够使用命令行脚本从现有组中删除现有用户。似乎usermod允许我使用以下命令将用户添加到补充组:

usermod -a -G supgroup1,supgroup2 username

如果没有“-a”选项,如果用户当前是未列出的组的成员,则该用户将从组中删除。有没有人有一个perl(或Python)脚本,允许指定要删除的用户和组?我是不是错过了一个明显的现有命令,或者是众所周知的解决方案?提前谢谢!在

感谢J.J.提供指向Unix::Group模块的指针,该模块是Unix配置文件的一部分。看起来deluser命令可以做我想做的事情,但它不在我现有的任何存储库中。我继续使用Unix:组模块。下面是您的系统管理脚本。在

^{pr2}$

Tags: 模块命令行用户命令服务器脚本选项username
3条回答

Web链接:http://www.ibm.com/developerworks/linux/library/l-roadmap4/

要向组中添加成员,请使用gpasswd命令和-a开关以及要添加的用户标识:

gpasswd-用户标识mygroup

使用相同的命令从组中删除用户,但使用-d开关而不是-a:

gpasswd-d用户标识mygroup

“man gpasswd”了解更多信息。。。在

我找了很久才找到这个。有时候不重新发明轮子需要太多的努力。。。在

看起来德鲁塞——组[groupname]应该这么做。在

如果不是,则groups命令将列出用户所属的组。使用一些Perl将该列表捕获到一个数组中(或者将其映射到散列中),删除不需要的组,并将其反馈给usermod,这应该相当简单。在

我给你找到了This。它应该能满足你的需要。据我所知,Perl没有任何内置函数用于从组中删除用户。它有几个用于查看用户或进程的组id。在

相关问题 更多 >