我在下面编写了以下代码片段,使用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 上的众多模块之一来实现这一点。就我个人而言,我使用这个。