我已经使用以下文档configuration了一个模块来设置新组: http : //docs.puppetlabs.com/references/latest/type.html#group 。
[root@puppetmaster ~]# cat /etc/puppet/modules/change-groups/manifests/init.pp class change-groups { group { "newgroup": gid => 3651, members => "user1,user2", } }
不幸的是我得到一个错误信息。 可能是什么原因?
info: /Group[newgroup]: Provider groupadd does not support features manages_members; not managing attribute members
基于文档 :
pipe理组。 在大多数平台上,这只能创build组。 组成员身份必须由个人用户pipe理 。
在某些平台(如OS X)上,组成员身份将作为组的属性进行pipe理,而不是用户logging。 提供商必须具有“managing_members”function来pipe理组logging的“成员”属性
这在使用groupadd / groupmod / groupdel来编辑组的Linux平台上非常不合适 – 请参阅上游问题#1298 。
波特兰州立大学有一个可以编辑组文件的替代组提供者 。
另一种select是使用Augeas来pipe理组文件。
Puppet发行版中的默认组提供程序不包括能够pipe理组成员身份的提供程序。 然而,波特兰州立大学的某些人需要相同的function,并编写了一些自定义提供程序 。 你需要的是你想放在/etc/puppet/modules/custom/lib/puppet/provider/group的文件ggroupadd.pp (正确调整以反映自定义模块目录的位置)。
新的ggroupadd提供程序将pipe理组,以便您放入member属性中的任何内容也将进入文件/etc/group 。
看起来木偶维护者从来没有提供过支持。 我正在查看Ruby库中的groupaddfunction,它似乎是一个草率的代码和/或不完整的代码的组合。