是否可以使用puppet 2.7.18将现有用户添加到组中?
我们有两个模块,每个模块定义一个类:
> module“user”创建所有用户,包括用户foo和用户栏.
>模块“subversion”处理各种conf文件并创建组svn.
我们想将用户foo添加到模块“subversion”中的svn组.
我已尝试过参数,如the existing feature request所述:
group { "svn": ensure => present,gid => xxxxx; } user { "foo": group => ["svn"],membership => minimum; }
但是我收到以下错误:
err: Could not retrieve catalog from remote server: Error 400 on
SERVER: Duplicate declaration: User[foo] is already declared in file
/pathto/modules/subversion/manifests/init.pp at line xx; cannot
redeclare at /pathto/modules/users/manifests/init.pp:xxx on node
myserver.example.com
解决方法
如果将用户声明为
virtual resources,则可以使用“实现”或集合语法(用户< | ... |>).这是一个例子:
@user { 'foo': groups => ['somegroup'],membership => minimum,}
然后使用then语法实现虚拟用户:
User <| title == foo |>
在其他地方,您可以使用plusignment添加该虚拟资源的参数:
User <| title == foo |> { groups +> "svn" }