使用Puppet将用户添加到多个组

使用Puppet将用户添加到多个组,puppet,usergroups,Puppet,Usergroups,我试图用清单将用户分配到多个组,但遇到了问题 尝试1: class usergroup { group { "user_one": ensure => present, gid => 500, } group { "user_two": ensure => present, gid => 501, } group { "dev_site_one": ensure => present,

我试图用清单将用户分配到多个组,但遇到了问题

尝试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
puppet apply --noop ./init.pp
收益率:

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

尝试2:

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,
  }

}
我试着将每个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
puppet apply --noop ./init.pp
收益率:

错误:重复声明:已在中声明用户[User\u one] 文件/etc/puppet/modules/webserver/manifests/init.pp:156;不能 在/etc/puppet/modules/webserver/manifests/init.pp:160上重新声明 节点my_web_服务器

…其中160是我尝试将gid 502分配给用户_one的位置

问题

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

有办法

看一看

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

假设500应该是第一组

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

。。。应该做这项工作。

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

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"],}

错误:用户[User_one]上的参数组失败:必须提供组名,而不是GID编号。at/etc/puppet/modules/webserver/manifests/init.pp:157
通过将gid更改为名称进行修复。另外一条建议:关于puppet的问题最好放在。有更多用户订阅了[puppet]