在Puppet

时间:2018-04-12 08:51:51

标签: puppet

我尝试使用bcrypt哈希密码管理用户密码文件。密码哈希将在每次运行时通过木偶创建。 所以现在我遇到的问题是每次运行都会更改用户文件的文件内容。

我的第一个想法是管理一个包含完整用户哈希的md5sum的检查文件,以监控它的任何变化。并且我只在更改检查文件时尝试更改用户文件。 但这不起作用。这是因为我认为木偶文件资源对刷新事件没有反应?

这是我最后一次以exec作为额外实例的尝试。

$md5sum = md5(String($input_users_hash))

file { "${filename}.serial" :
  ensure  => present,
  content => $md5sum,
  notify  => Exec['md5sum_check']
}

exec { 'md5sum_check':
  command => '/bin/true',
  unless  => "test `cat /opt/tomcat/shared/classes/users.properties.serial` == ${md5sum}",
  notify  => File[$filename],
}

file { $filename :
  content => template($users_properties_template),
  require => Exec['md5sum_check']
}

有任何有用的提示可以解决这个问题,并防止扑动资源吗?

1 个答案:

答案 0 :(得分:0)

在这种情况下,我的建议是你将bcrypt哈希值存储在puppet服务器上的hiera yaml中,并且它们是由puppet以外的东西生成的(即在你创建新用户的时候)。

如果那是不可能的,以及您的避免目录服务帐户管理,那么您需要找到一个bcrypt实现,让您选择设置salt。然后,对于每个用户名,您可以对其进行哈希处理,并使用它来稳定给定用户的盐,这应该可以稳定passwourd输出。