我在下面用puppet user资源写下面的代码片段来创buildunix用户。
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/tD$4Q2Ocr0pulyNTUx/', password_min_age => '30', password_max_age => '60', } exec { 'chage': path => '/usr/bin/', command => 'chage -d 0 askar', } }
它对我来说工作正常,但对我来说,我需要创build10到20个用户。 我如何重用上述代码段来创build10个用户。 我是puppet新手,所以指针会有很大的帮助。
您需要重构代码以使用define ,然后您可以从节点声明中引用该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}", } }
舱单/ site.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上的许多模块之一来完成此操作。 我个人使用这个 。