当前位置:  开发笔记 > 编程语言 > 正文

使用python在linux中创建一个用户组

如何解决《使用python在linux中创建一个用户组》经验,为你挑选了2个好方法。

我想在CentOS系统上使用python创建一个用户组.当我说'使用python'时,我的意思是我不想做像os.system这样的事情,并给出unix命令来创建一个新的组.我想知道是否有任何python模块处理这个问题.

在网上搜索没有透露我想要的东西,除了python用户组..所以我不得不问这个.

我通过搜索SO了解了grp模块,但是找不到有关创建组的任何信息.

编辑:我不知道我是否必须为此开始一个新问题,但我也想知道如何将(现有的)用户添加到新创建的组中.

任何帮助赞赏.谢谢.



1> Jack Lloyd..:

我不知道有一个python模块,但/ etc/group和/ etc/gshadow格式是非常标准的,所以如果你想要你可以打开文件,解析它们当前的内容,然后添加新的组如有必要.

在您这样做之前,请考虑:

如果您尝试添加系统中已存在的组,会发生什么

当程序的多个实例尝试同时添加组时会发生什么

如果对组格式进行不兼容的更改,那么您的代码会发生什么变化

NIS,LDAP,Kerberos,......

如果您不愿意处理这些类型的问题,只需使用子进程模块并运行groupadd.这样就不太可能破坏客户的机器.

你可以做的另一件事就是不如编写自己的那么脆弱,就是将代码包装在Python中的groupadd.c(在shadow包中)并以这种方式执行.我不认为这会给你带来太大的影响而不仅仅是执行它,而且它会给你的构建增加更多的复杂性和脆弱性.



2> John La Rooy..:

我认为您应该使用程序中的命令行程序,如果出现问题,我们会非常谨慎地确保它们不会破坏组文件.

但是,如果您选择这样做,那么文件格式就可以自行编写

推荐阅读
落单鸟人
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有