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

是否可以使用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" }

相关文章

1、安装Apache。 1)执行如下命令,安装Apache服务及其扩展包...
一、先说一下用ansible批量采集机器信息的实现办法: 1、先把...
安装配置 1. 安装vsftpd 检查是否安装了vsftpd # rpm -qa | ...
如何抑制stable_secret读取关键的“net.ipv6.conf.all.stabl...
1 删除0字节文件 find -type f -size 0 -exec rm -rf {} ...
## 步骤 1:安装必要的软件包 首先,需要确保系统已安装 `dh...