【问题标题】:Run the chef-client as non root user以非 root 用户身份运行 chef-client
【发布时间】:2015-04-01 13:04:44
【问题描述】:

我想在我的 linux 机器上以测试用户身份运行 chef-client。为此,我在来自 /etc/chef/client.rb 的 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是否需要移动?

【问题讨论】:

  • 添加了缓存路径“/home/test/cache”。这也显示了同样的错误,它说我可以读到你告诉我签署请求的内容

标签: chef-infra


【解决方案1】:

首先,Chef 旨在以 root 身份运行。许多资源假设它们以 root 身份运行,并且需要它。如果以 root 身份运行,它们将失败

具体针对您的错误,您的测试用户无权在/etc/chef(默认位置)写入文件,它需要写入client.pem 节点证书。

一些想法:

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

【讨论】:

  • 是否需要在/etc/chef这个位置写client.rb文件。我应该在 /home/test 位置创建一个文件夹“厨师”并将文件放在那里(client.pem、client.rb、validation.pem)
  • 嘿,我授予了文件夹 /etc/chef/ 中所有文件的 chmod 777 权限。现在 chef-client 从测试用户运行。这是正确的方法吗?我没有在我的 client.rb 文件中添加 cache_path?那么它是如何工作的。我检查了文件夹/var/chef/cache的权限它都是'755'模式
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-07-08
  • 2017-06-22
  • 1970-01-01
  • 1970-01-01
  • 2016-01-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多