gpt4 book ai didi

linux - 在 puppet 中管理 linux 的用户密码

转载 作者:行者123 更新时间:2023-12-05 01:17:24 26 4
gpt4 key购买 nike

我需要使用 puppet 创建一个带有密码的测试用户。

我读过 puppet 不能以通用的跨平台方式管理用户密码,这很遗憾。
我正在为 Red Hat Enterprise Linux Server 6.3 版执行此操作。

我这样做:

user { 'test_user': 
ensure => present,
password => sha1('hello'),
}

puppet 更新用户的密码,
但是当我尝试登录时,Linux 说登录/密码不正确。

如果我在 Linux 中使用 sudo passwd test_user 手动设置密码,它就可以工作(我可以登录) ,然后看 /etc/shadow并在 puppet 中对该值进行硬编码。就像是:
user { 'test_user': 
ensure => present,
password => '$1$zi13KdCr$zJvdWm5h552P8b34AjxO11',
}

我也尝试过添加 $1$前面 sha1('hello') ,
但它也不起作用(注意, $1$ 代表 sha1)。

如何修改第一个示例使其工作(使用 puppet 文件中的明文密码)?

P.S.:我知道我应该使用 LDAP、sshkeys 或其他东西,而不是在 puppet 文件中硬编码用户密码。但是,我这样做只是为了运行 puppet vagrant 测试,因此可以对用户密码进行硬编码。

最佳答案

I had success (gist)在 Puppet 解析器函数中使用 ruby​​ 的 String#crypt 方法。

AFAICS 它使用 crypt libc 函数(参见: info crypt ),并采用相同的参数 $n$[rounds=<m>$]salt ,其中 n 是散列函数(SHA-512 为 6 美元),m 是 key 强化轮数(默认为 5000)。

关于linux - 在 puppet 中管理 linux 的用户密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19114328/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com