Puppet:无需重复自己即可管理多个用户

Puppet:无需重复自己即可管理多个用户

当我将用户添加到我的 Puppet 配置中时,我最终复制/粘贴了如下内容:

user {'jeff':
  ensure     => 'present',
  groups     => ['sudo', 'supervisor'],
  require    => [Group['sudo'], Group['supervisor']],
  home       => '/home/jeff',
  managehome => true,
  password => '...',
 shell      => '/bin/bash',
}
ssh_authorized_key { 'jeff@lorax':
  ensure  => 'present',
  user    => 'jeff',
  require => User['jeff'],
  type    => 'rsa',
  key     => '...',
}

用户之间唯一改变的是用户名、ssh 密钥(标签和值,有些用户有多个),有时还有组集。

我确信我错过了一些关于如何做得更好的信息,但我还没有找到。有什么建议吗?

答案1

您可以使用社区贡献的众多模块之一来删除此重复。例如,使用torrancew/帐户模块(全面披露:我是不是模块所有者):

account { 'jeff':
    groups       => ['sudo','supervisor' ],
    ssh_key      => '...',
    password     => '...',
    require      => Group['sudo','supervisor'],
}

选项文档:GitHub

相关内容