使用 Puppet 用户资源创建多个用户

使用 Puppet 用户资源创建多个用户

我在下面编写了以下代码片段,使用user资源来puppet创建unix用户。

   node 'node2.example.com','node3.example.com'{
  user {
  'askar':
  ensure  => 'present',
  managehome => 'true',
  comment => 'man Home',
  home    => '/home/askar',
  shell   => '/bin/bash',
  expiry  => '2016-03-22',
  password => '$1$cs1j/t.D$4Q2Ocr0pulyNTUx/',
  password_min_age => '30',
  password_max_age => '60',
 }
exec {
'chage':
    path => '/usr/bin/',
    command => 'chage -d 0 askar',
  } 
}

对我来说,它运行良好,但问题是,我需要创建 10 到 20 个用户。我如何重用上述代码片段来创建 10 个用户。我是新手puppet,所以指点会很有帮助。

答案1

您需要重构您的代码以使用define,然后从节点声明中引用它。


模块/myuser/init.pp

define myuser(
  $password,
  $expiry = '2016-03-22',
  $shell  = '/bin/bash',
) {
  user { $title:
    ensure           => present,
    managehome       => true,
    comment          => 'Puppet managed user',
    home             => "/home/${title}",
    shell            => $shell,
    expiry           => $expiry,
    password         => $password,
    password_min_age => '30',
    password_max_age => '60',
  }
  exec { 'chage':
    command => "/usr/bin/chage -d 0 ${title}",
  } 
}

清单/站点.pp

node 'node2.example.com','node3.example.com'{
  myuser { 'user1':
    password => 'sdfsldkfldsfl'
  }

  myuser { 'user2':
    password => 'dfsdklsjflcd',
  }
}

参考:https://docs.puppetlabs.com/puppet/latest/reference/lang_defined_types.html

或者,您可以使用 Puppet Forge 上的众多模块之一来实现这一点。就我个人而言,我使用这个

相关内容