Jboss 使用puppet exec获取不同的哈希值

Jboss 使用puppet exec获取不同的哈希值,jboss,md5,puppet,jboss-eap-6,puppet-enterprise,Jboss,Md5,Puppet,Jboss Eap 6,Puppet Enterprise,当我执行以下命令时,我得到了我期望的完美散列值 /opt/Jboss/dc/bin/add-user.sh --silent --user testuser --password testuser*1 --realm ManagementRealm 哈希逻辑=md5(testuser:ManagementRealm:testuser*1) 预期哈希值=e72bfb358dd2116ad0033c01e357c1b2 但当我用puppet exec做同样的尝试时。我得到了不同的散列值。我不知道如

当我执行以下命令时,我得到了我期望的完美散列值

/opt/Jboss/dc/bin/add-user.sh --silent --user testuser --password testuser*1 --realm ManagementRealm
哈希逻辑=md5(testuser:ManagementRealm:testuser*1)

预期哈希值=e72bfb358dd2116ad0033c01e357c1b2

但当我用puppet exec做同样的尝试时。我得到了不同的散列值。我不知道如何调试或修复它。非常感谢您的帮助

我的傀儡密码:

define jboss::useradd(
$home,
$username,
$password,
) {
        $jbossuserfix   = '2>&1 | awk \'BEGIN{a=0}{if (/Error/){a=1};print}END{if (a==1) exit 1}\''
        $realm          = "ManagementRealm"
        $filepath       = "${home}/domain/configuration/mgmt-users.properties"
        $encrypasswd    = md5("${username}:ManagementRealm:${password}")
        notify { " ${title} Encry ${encrypasswd} ": }
        exec { "${title}::user::add":
                environment => ["JBOSS_HOME=${home}","__PASSWD=${password}"],
                command     => "${home}/bin/add-user.sh --silent --user '${username}' --password \"\$__PASSWD\" --realm '{realm}' ${jbossuserfix}",
                unless      => "/bin/egrep -e '^${username}=${encrypasswd}' ${filepath}",
                require     => File["${home}/domain/configuration/domain.xml"],
                logoutput   => true,
        }
}
下面是我使用上述代码得到的结果


结果哈希值:fb8ed958ba3d535fb8314d4da4b96d42傀儡代码中的
命令属性与您给出的示例行不匹配

首先,您缺少
${realm}
上的
$


其次,在puppet代码中的参数周围添加了引号。对您正在调用的脚本一无所知,这可能很重要,也可能不重要。

无法复制:
puppet apply-e'注意md5(“testuser:ManagementRealm:testuser*1”)
给了我
e72bfb358dd2116ad0033c01e357c1b2