我写了一个厨师食谱,将创建2个用户。我想告诉chef-client根据标签创建一个或两个用户(这在Ansible中是可行的)我想在chef中实现相同的功能。
食谱:用户
user 'user1' do
comment 'A random user1'
uid '1234'
gid '1234'
home '/home/random'
shell '/bin/bash'
password '$1$JJsvHslasdfjVEroftprNn4JHtDi'
end
user 'user2' do
comment 'A random user2'
uid '1234'
gid '1234'
home '/home/random'
shell '/bin/bash'
password '$1$JJsvHslasdfjVEroftprNn4JHtDi'
end
在我的用户食谱中,我有两个资源user1
和user2
。
我已经推出了EC2,我想运行用户配方,但我不希望在EC2上创建这两个用户。
同样,在我的组织中,我们有200名员工,我们不希望在新推出的EC2上创建所有用户。请按照Chef标准指导如何管理用户创建。
答案 0 :(得分:0)
没有像Ansible或Salt这样的特定功能。您可以使用覆盖运行列表来指定仅使用一次的运行列表,但并非所有烹饪书都在其下表现良好。如果你想编写Ruby代码来实现这一点,你完全可以。
unless tag?('thingy')
user 'one'
user 'two'
end
user 'three'
答案 1 :(得分:0)
除了上述答案之外,我觉得您需要查看来自users食谱的getCityid('Draper');
资源,该资源会创建特定群组中的所有用户。
然后,您可以为每个环境设置不同的组名称,并控制该组中的用户,例如通过使用不同的data_bags。