2016-01-08 38 views
1

我已经写了一个厨师的食谱,这将创建2个用户。我想告诉厨师客户基于标签创建一个或两个用户(这在Ansible中是可行的)我想在厨师中实现它。我们可以告诉厨师客户端运行特定资源吗?

方药:用户

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 

在我用户食谱,我有两个资源user1user2。 我已经推出了EC2,我想运行用户配方,但我不希望在EC2上创建这两个用户。

同样,在我的组织中,我们有200名员工,我们不希望在新推出的EC2上创建所有用户。请指导如何管理用户创建,厨师标准。

+2

是的,你可以。请更准确地说明你已经尝试了什么。 – StephenKing

+0

如果您想控制您的环境中的用户,请考虑使用社区“用户”菜谱。它使用数据库来控制用户设置。 –

回答

0

没有像Ansible或Salt这样的特定功能。您可以使用覆盖运行列表来指定一次只能使用一次的运行列表,但并非所有的烹饪书籍都能很好地运行。如果你想写你的Ruby代码来实现这一点,你完全可以。

unless tag?('thingy') 
    user 'one' 
    user 'two' 
end 
user 'three' 
0

除了上述的答案,这听起来好像是你需要寻找到从users菜谱,创建所有用户在一个特定的组users_manage资源。 然后,您可以为每个环境设置一个不同的组名,并控制该组中的哪些用户,例如通过使用不同的数据包。