【问题标题】:Add user to multiple groups with Puppet使用 Puppet 将用户添加到多个组
【发布时间】:2013-09-16 01:30:18
【问题描述】:

我正在尝试使用清单将用户分配到多个组,但我遇到了困难。

尝试 1:

class usergroup {

  group { "user_one":
      ensure => present,
      gid => 500,
  }
  group { "user_two":
      ensure => present,
      gid => 501,
  }
  group { "dev_site_one":
      ensure => present,
      gid => 502,
  }
  group { "dev_site_two":
      ensure => present,
      gid => 503,
  }
  group { "dev_site_three":
      ensure => present,
      gid => 504,
  }

  user { "user_one":
      ensure => present,
      uid => 500,
      gid => 500,
      gid => 502,
      gid => 503,
      gid => 504,
  }
  user { "user_two":
      ensure => present,
      uid => 501,
      gid => 501,
  }

}

运行这个:

puppet apply --noop ./init.pp

产量:

错误:用户 [user_one] 上的参数“gid”重复 /etc/puppet/modules/webserver/manifests/init.pp:159 在节点上 我的网络服务器

尝试 2:

我尝试像这样分解每个 gid 声明:

class usergroup {

  group { "user_one":
      ensure => present,
      gid => 500,
  }
  group { "user_two":
      ensure => present,
      gid => 501,
  }
  group { "dev_site_one":
      ensure => present,
      gid => 502,
  }
  group { "dev_site_two":
      ensure => present,
      gid => 503,
  }
  group { "dev_site_three":
      ensure => present,
      gid => 504,
  }

  user { "user_one":
      ensure => present,
      uid => 500,
      gid => 500,
  }
  user { "user_one":
      gid => 502,
  }
  user { "user_two":
      ensure => present,
      uid => 501,
      gid => 501,
  }

}

运行这个:

puppet apply --noop ./init.pp

产量:

错误:重复声明:用户 [user_one] 已在 文件/etc/puppet/modules/webserver/manifests/init.pp:156;不能 在 /etc/puppet/modules/webserver/manifests/init.pp:160 重新声明 节点 my_web_server

...其中 160 是我尝试将 gid 502 分配给 user_one 的位置。

问题

有没有办法使用 Puppet 分配多个组,还是我必须手动分配这些组?

【问题讨论】:

  • 附加建议:关于木偶的问题最好放在serverfault.com。有更多用户订阅了 [puppet]

标签: puppet usergroups


【解决方案1】:

是的,有办法!

看看http://docs.puppetlabs.com/references/latest/type.html#user

gid 参数指定用户的主组,该组必须是唯一的。可以使用 groups 参数指定其他组。

假设 500 应该是主要组...

user { "user_one":
    ensure => present,
    uid => 500,
    gid => 500,
    groups => [502, 503, 504],
}

...应该做的工作。

【讨论】:

  • Error: Parameter groups failed on User[user_one]: Group names must be provided, not GID numbers. at /etc/puppet/modules/webserver/manifests/init.pp:157 通过将 gid 更改为名称来修复。
【解决方案2】:

如果你愿意,你也可以使用组名,看下面。

group { "group_one": 
        ensure => present, 
        gid => 500,}

group { "group_two":
         ensure => present,
         gid => 501,}

 user { "user_one":
         ensure => present,
         comment => 'New user being created',   
         uid => 505,   
         groups => ["group_one","group_two"],}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-03
    相关资源
    最近更新 更多