Add a user to multiple groups using Puppet

I am trying to assign users to multiple groups with a manifest, but I am running into walls.

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

Launch:

 puppet apply --noop ./init.pp 

Profitability:

Error: duplicate the "gid" parameter for user [user_one] in /etc/puppet/modules/webserver/manifests/init.pp:159 on nodemy_web_server

Attempt 2:

I tried to wrest each gid declaration like this:

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

Launch:

 puppet apply --noop ./init.pp 

Profitability:

Error: Duplicate ad: User [user_one] is already declared in the file /etc/puppet/modules/webserver/manifests/init.pp:156; can't redeclare on /etc/puppet/modules/webserver/manifests/init.pp:160 on node my_web_server

... where 160 is where I am trying to assign gid 502 user_one.

Question

Is there a way to assign multiple groups using Puppet, or do I need to assign these groups manually?

+4
source share
1 answer

Yes, there is a way!

Take a look at http://docs.puppetlabs.com/references/latest/type.html#user .

The gid parameter specifies the primary user group, which should be unique. Additional groups can be specified using the groups parameter.

Assuming 500 should be the main group ...

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

... must do the job.

+11
source

Source: https://habr.com/ru/post/1501735/


All Articles