2

在主机上,我有这样的东西:

export SOME_USER=foo
export SOME_PASSWORD=password

我想将主机的一些环境变量转换为attributes/default.rb中的属性:

user = ENV["SOME_USER"]
password = ENV["SOME_PASSWORD"]
node.default["some"]["url"] = "http://#{user}:#{password} ..."

但是,ENV这是来宾操作系统的ENV。我可以在属性文件中访问我的主机环境吗?

更广泛地说,在厨师中定义用户/密码而不在任何地方检查密码的首选方法是什么?

4

1 回答 1

2

最好的方法是使用加密的数据包。

基本上,您将值存储在厨师服务器上,并使用密钥加密。您将此密钥提供给需要这些值的节点,它们可以下载和解密这些值,从而获取密码。这不仅可以防止签入纯文本密码,还可以确保密码在网络上也被加密。

阅读更多相关信息:http ://wiki.opscode.com/display/chef/Encrypted+Data+Bags

于 2012-12-28T23:26:07.057 回答