以非root用户身份运行chef-client

时间:2015-02-02 14:43:19

标签: chef

我想在我的linux机器上运行chef-client作为测试用户。为此,我在client.rb文件中添加缓存路径,该文件来自/etc/chef/client.rb。

cache_path "~/.chef/cache"

然后我从测试用户(非root用户)运行chef-client命令。它显示错误?

Chef encountered an error attempting to create the client 

如何设置缓存路径?是否有必要在测试用户下移动client.rb,chef-validator.pem,client.pem,first-boot.json?

1 个答案:

答案 0 :(得分:3)

首先,厨师打算以root身份运行。很多资源都假设它们以root身份运行,并且需要它。如果以root身份运行,将失败

具体而言,对于您的错误,您的测试用户无权在/etc/chef(默认位置)中编写文件,并且需要编写client.pem节点证书。

一些想法:

  1. /etc/chef的权利授予您的测试用户
  2. 使用sudo与测试用户一起运行Chef客户端(需要sudoers文件中的条目)
  3. 修改client.rb文件以将client_key指向您的测试用户主目录
  4. 以root身份首次运行chef,这样它就可以编写节点证书,然后就不必再在/etc/chef
  5. 中写入了