2015-06-19 33 views
0

在创建用户可以在GID指定组他所属,如果此用户属于多个组,我们怎样才能厨师如何厨师用户资源创建的用户有成员在多个组

user 'random' do 
    supports :manage_home => true 
    comment 'Random User' 
    uid 1234 
    gid 'users' 
end 

指定如果用户资源不提供此选项,我们如何才能以最佳方式实现。

回答

4

这不是一个实际上有多个组的用户,它是一个拥有多个用户的组(这在/etc/groups中管理,不在/etc/passwd中)。

实现的方式是:

user 'random' do 
    supports :manage_home => true 
    comment 'Random User' 
    uid 1234 
    gid 'users' 
end 

%w{group1 group2 group2}.each do |g| 
    group g do 
    action :modify 
    members "random" 
    append true 
    end 
end 

group资源documentation的详细信息和可用的属性。

如果该组尚不存在,请将操作更改为:create

+0

我已经采取了这一做法,但我认为在创建用户,我可以通过多组类似下面的命令 一些事情的“useradd -u 1501 -g -m -G GRP1 GRP2,将grp3 USER1” – SASI

+0

@SASI这个命令将工作对于两个文件,所以在厨师的角度来看,这是两种不同的资源,在用户管理上添加选项来实现底层代码的复杂性,而最终没有真正的好处。事实上,一个专门的指挥官可以应付这种复杂性,而不是像厨师那样瞄准的不仅仅是管理用户的工具 – Tensibai