我想在我的 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 移到测试用户下?
首先,chef 旨在以 root 身份运行。许多资源假设它们以 root 身份运行,并且需要它。他们将失败 if not以 root 身份运行。
具体来说,对于您的错误,您的测试用户无权在其中写入文件/etc/chef
(默认位置)并且需要写client.pem
节点证书。
一些想法:
- 授予权利
/etc/chef
给你的测试用户
- use
sudo
使用测试用户运行 Chef 客户端(需要 sudoers 文件中的条目)
- 修改
client.rb
文件到点client_key
到您的测试用户主目录
- 以root身份第一次运行chef,这样它就可以写入它的节点证书,然后就不必再次写入
/etc/chef
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)