Passwords 如何确定Chef“的密码属性值?”;“用户”;资源?
我正在尝试使用Chef 11创建一个用户帐户,但不确定如何计算password属性的值。我已经阅读了用户资源文档,特别是“密码阴影散列”一节,但仍然不确定到底要做什么 这个用户是在Ubuntu系统上创建的,所以我是否使用他们提供的openssl示例并将该命令的输出作为密码属性值传递Passwords 如何确定Chef“的密码属性值?”;“用户”;资源?,passwords,chef-infra,Passwords,Chef Infra,我正在尝试使用Chef 11创建一个用户帐户,但不确定如何计算password属性的值。我已经阅读了用户资源文档,特别是“密码阴影散列”一节,但仍然不确定到底要做什么 这个用户是在Ubuntu系统上创建的,所以我是否使用他们提供的openssl示例并将该命令的输出作为密码属性值传递 openssl passwd -1 "theplaintextpassword" 但是,每次运行该命令时,输出都不同。它还支持各种选项(-crypt,-1,-apr1),那么我应该使用哪一个呢 我一直在看unix
openssl passwd -1 "theplaintextpassword"
但是,每次运行该命令时,输出都不同。它还支持各种选项(-crypt,-1,-apr1),那么我应该使用哪一个呢
我一直在看unix passwd命令帮助,它说它对值进行加密,但没有指出它使用的方法。对暗影和地穴的帮助也没有任何意义
在本例中,数据包是多余的,我有一个值要用于此帐户,只是想使用password属性指定它
以下是用户资源部分:
user 'mytestuser' do
comment "Test User"
home "/home/mytestuser"
shell "/bin/bash"
supports :manage_home => true
password "what goes here?"
action :create
end
更新:
我已经确定您为password属性指定的字符串直接写入用户的/etc/shadow条目。我想剩下的问题是确定该文件期望值是什么,以及它与配置用户密码的关系。密钥看到密码属性值直接写入/etc/shadow文件。然后是阅读shadow和crypt手册页,最终理解(希望如此)事物是如何结合在一起的。如果你对一些背景感兴趣,请参阅下面的血淋淋的细节
mytestuser:THIS_IS_THE_FIELD_YOU_WANT:16063:0:99999:7:::
如果对密码的MD5散列没有问题,请使用openssl命令生成加密字符串。我使用的版本似乎不支持SHA算法。使用openssl passwd--帮助查看哪些选项对您可用
openssl passwd -1 -salt "yoursaltphrase"
Password: <enter the password>
$1$yoursalt$fIque2U6AZ.YRAqOu5Eyo/
至于我,我最终手动创建了测试用户,然后从/etc/shadow复制了它的加密字符串作为配方的密码属性值
在/etc/shadow中,mytestuser:之后的第二个字段是加密密码
mytestuser:THIS_IS_THE_FIELD_YOU_WANT:16063:0:99999:7:::
看人影和人穴
血淋淋的细节
将手册页和各种用户论坛中的内容拼凑在一起,下面是我学到的。请注意,这里加密的术语实际上意味着散列,因为我不相信密码实际上可以被解密
passwd命令加密用户的纯文本密码并将其写入/etc/shadow
/etc/shadow条目包含各种格式之一的用户名和加密密码。“crypt”的手册页描述了这些格式,请参见其注释部分
加密值的格式为:
$id$salt$encrypted
可以将其视为包含两部分:salt和实际加密的密码
mytestuser:THIS_IS_THE_FIELD_YOU_WANT:16063:0:99999:7:::
盐部分由两部分组成:
blank = DES (the default when no $id$ prefix is found)
1 = MD5
2a = Blowfish
5 = SHA-256
6 = SHA-512
加密密码长度根据加密算法固定:
DES = 8 characters
MD5 = 22 characters
SHA-256 = 43 characters
SHA-512 = 86 characters
Blowfish = ???
您可以使用opensslpasswd命令生成各种密码散列。
它支持以下选项:
-crypt DES-based standard Unix password algorithm (default)
-1 MD5-based password algorithm
-apr1 MD5-based password algorithm, Apache variant
-salt string use provided salt