我需要使用Puppet在Linux(RedHat)中使用Password(对于IBM MQ VM框)创建用户帐户。
需要使用userid / password进行连接以从其他服务器连接到MQ服务器(Node.JS)amqps:// userid:password @ server:port。全部都是用木偶自动化的。
以下是我遵循的流程。
1. Logged into a test machine. Created user id / password.
2. Picked up the hash from /etc/shadow
3. Used that in puppet code in password field passed to code (in single quotes).
使用的代码如下。
$api_group = 'nonprivmq'
$api_userid = 'mquser'
$api_password = 'passwordhashpickedupfrometcshadow' (used single quotes)
# setup group and user for publish / subscribe messages
group { $api_group:
ensure => 'present',
gid => '550',
}
# setup user
user { $api_userid:
ensure => 'present',
uid => '550',
gid => '550',
home => "/home/${api_userid}",
name => $api_userid,
password => $api_password,
managehome => yes,
shell => '/bin/bash',
require => Group[$api_group],
before => Exec['EnableAuth'],
}
它在不同的机器上不能始终如一地工作。适用于虚拟机,不适用于其他虚拟机。
我阅读了以下链接并尝试了列出的选项。 managing a user password for linux in puppet
尝试的选项: 1.使用https://gist.github.com/pschyska/26002d5f8ee0da2a9ea0中显示的功能 2.使用openssl命令生成密码哈希并在puppet中使用它。 #openssl passwd -1
这两个选项都不起作用。
当我手动登录MQ服务器并更改密码时,一切正常。因此,证明创建的密码不是我打算创建的。
感谢任何帮助。
答案 0 :(得分:0)
这是我的三个想法,可能会出错。