我想在我的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?
答案 0 :(得分:3)
首先,厨师打算以root身份运行。很多资源都假设它们以root身份运行,并且需要它。如果不以root身份运行,将失败。
具体而言,对于您的错误,您的测试用户无权在/etc/chef
(默认位置)中编写文件,并且需要编写client.pem
节点证书。
一些想法:
/etc/chef
的权利授予您的测试用户sudo
与测试用户一起运行Chef客户端(需要sudoers文件中的条目)client.rb
文件以将client_key
指向您的测试用户主目录/etc/chef