我需要使用 puppet 创建一个带有密码的测试用户。
我读过 puppet 无法以通用的跨平台方式管理用户密码,这很遗憾。我正在为 Red Hat Enterprise Linux Server 6.3 版执行此操作。
我这样做:
user { 'test_user':
ensure => present,
password => sha1('hello'),
}
puppet 更新用户的密码,但是当我尝试登录时,Linux 说 login/pwd 不正确。
如果我在 Linux 中使用 手动设置密码,它可以工作(我可以登录)sudo passwd test_user
,然后/etc/shadow
在 puppet 中查看并硬编码该值。就像是:
user { 'test_user':
ensure => present,
password => '$1$zi13KdCr$zJvdWm5h552P8b34AjxO11',
}
我也尝试过$1$
在 前面添加sha1('hello')
,但它也不起作用(注意,$1$
代表 sha1)。
如何修改第一个示例以使其工作(使用 puppet 文件中的明文密码)?
PS:我知道我应该使用 LDAP、sshkeys 或其他东西,而不是在 puppet 文件中硬编码用户密码。但是,我这样做只是为了运行 puppet vagrant 测试,所以可以硬编码用户密码。