Chef:如何管理*删除*用户的代码

时间:2016-08-26 01:51:47

标签: chef chef-recipe devops

在Chef中,管理用户在添加它们时是直截了当的,但我不确定如何在删除它们时有效地管理代码库。假设我有一个user 'jane' do action :create end 资源:

user 'jane' do
  action :remove
end

这将创建Jane的用户,但如果Jane离开公司怎么办?如果我理解资源如何工作,我不能只从配方中删除这些行 - 我必须将块更改为:

node['users'].each do |name|
  user name do 
    action :create
  end
end

如果我需要管理更多用户,这是否可持续?看起来我必须记住进入并更改此块,然后进入并在所有相关节点上使用配方后删除此代码,因为一旦用户离开了代码什么也没做。

更重要的是,如果我有这样的循环:

{{1}}

我必须将各个用户的名称从属性中分离出来,并将自己的块添加到配方中以删除它们,然后记住在所有节点收敛后删除该块。

我是否正确理解了流程,还是有更好的方法来管理用户资源?

1 个答案:

答案 0 :(得分:3)

不,这最终不可持续。任何足以担心用户流失的地方都应该已经切换到LDAP以进行集中用户管理。这太糟糕了,但它基本上仍然是我们所拥有的最好的。通常,这也与Active Directory服务器一起用于其他事情,并且可以用于Unix用户管理。