Vagrant 不更新用户密码

Vagrant 不更新用户密码,vagrant,puppet,Vagrant,Puppet,Puppet没有为任何创建的用户设置密码。我尝试了几种方法,但似乎都不起作用,我的清单文件是: 方法1:sha1()/md5()函数 方法2:密码哈希 /etc/阴影不随通行证更新 shadow在我创建的用户的密码字段中有一个“!”标记 如果我手动编辑影子文件并粘贴到密码散列中,我可以成功地将ssh&su粘贴到帐户中 已经看了 版本 Ubuntu:12.04(hashicorp/precise64) 木偶:2.7.19 流浪汉:1.5.3 您遇到的问题是Puppet没有更新/etc/sha

Puppet没有为任何创建的用户设置密码。我尝试了几种方法,但似乎都不起作用,我的清单文件是:

方法1:sha1()/md5()函数 方法2:密码哈希 /etc/阴影不随通行证更新
  • shadow在我创建的用户的密码字段中有一个“!”标记
  • 如果我手动编辑影子文件并粘贴到密码散列中,我可以成功地将ssh&su粘贴到帐户中
  • 已经看了
版本
  • Ubuntu:12.04(hashicorp/precise64)
  • 木偶:2.7.19
  • 流浪汉:1.5.3

您遇到的问题是Puppet没有更新/etc/shadow文件,但即使它正确地更新了/etc/shadow文件,方法1仍然无法工作。sha1()和md5()函数不会生成与passwd/shadow兼容的值,因为这不是它们的用途。生成加密密码比简单的密码散列更复杂

方法2应该是有效的,但既然不是,你就有别的事情要做。您是否尝试过使用调试和/或详细模式应用清单


我猜您缺少ruby shadow包,Puppet需要它来管理这些文件。检查你的软件包提供商和/或gem,确保你已经安装了它。

我今天在ubuntu 12.04上也遇到了这个问题。正如它在报告中所说,并经orev证实:

请注意,如果希望管理用户密码,则需要安装Ruby的shadow密码库(通常称为Ruby libshadow)

然而,我无法让libshadow-ruby1.8软件包正常工作,即使在安装评论中提到的最新puppet版本(3.4.3,现在是3.5.1)时也是如此,所以我想我应该发布对我有用的东西。我已经在一个新的hashicorp/precise64流浪者箱上进行了测试:

使用ruby shadow gem-它需要make,因此还需要安装build essential

sudo apt-get install build-essential
sudo gem install ruby-shadow
然后以正确的形式为该框设置密码,
mkpasswd
,它是ubuntu 12.04中whois包的一部分

sudo apt-get install whois 
然后,puppet用户声明:

user { 'bob':
  ensure   => present,
  password => generate('/bin/sh', '-c', "mkpasswd -m sha-512 ${password} | tr -d '\n'"),
  ...
}

(在我看来,最初的标题要好得多,但我不打算发动一场还原战。)我安装了libshadow-ruby1.8,但它仍然不起作用,是否还有其他我可能需要的库?我尝试了一个更新版本的puppet(3.4.3),与libshadow-ruby-seeemd一起使用。
sudo apt-get install build-essential
sudo gem install ruby-shadow
sudo apt-get install whois 
user { 'bob':
  ensure   => present,
  password => generate('/bin/sh', '-c', "mkpasswd -m sha-512 ${password} | tr -d '\n'"),
  ...
}