加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – 使用puppet将现有用户添加到组中

发布时间:2020-12-13 18:06:19 所属栏目:Linux 来源:网络整理
导读:是否可以使用puppet 2.7.18将现有用户添加到组中? 我们有两个模块,每个模块定义一个类: module“user”创建所有用户,包括用户foo和用户栏. 模块“subversion”处理各种conf文件并创建组svn. 我们想将用户foo添加到模块“subversion”中的svn组. 我已尝试过
是否可以使用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" }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读