0

我想设置一个用户(称为“部署者”),但仅限于某些角色。

我正在使用Opscode 用户食谱。我从“基础”(所有其他食谱中包含)包装器食谱中调用它。因此,我的data_bags/users目录中的用户正在我的所有 Chef 节点上创建。

考虑到这一点,我的“部署者”用户似乎不属于data_bags/users/deployer.json. (这将为所有节点创建它。)

我正在思考和探索找到一种或多种干净的方法来做到这一点。我的用例可能并不罕见,所以我希望找到一条与 Chef 一起“简单”的路径来做我需要的事情。我目前的想法和想法包括:

  1. 我还没有找到从我的“用户”数据包中读取的显式代码。找到这样的代码后,也许我可以调整它以根据属性进行过滤,以便排除某些用户,除非特定角色正在“运行”?

  2. 我可能会创建一个单独的数据包,可能是“foo-users”,其中“foo”是角色。然后我可以使用Opscode 用户手册在需要时准确地使用那个特定的数据包。

4

2 回答 2

1

看看部署程序说明书。这本食谱是对用户食谱的补充,因为它可以利用相同的“用户”数据包。

于 2013-12-01T09:01:55.403 回答
0

我目前倾向于将此代码用于需要它的角色:

user "deployer" do
  comment "deployer account"
  supports manage_home: true
  shell "/bin/false"
end

由于我不需要用户拥有登录 shell,因此将凭据隐藏在数据包中并不是特别重要。

如果我有很多属于各种机器组合的用户帐户,这将不是一个干净的解决方案。但就我而言,它很简单,应该可以正常工作。

于 2013-11-30T21:26:43.033 回答