如何在厨师用户资源中创建具有多个组成员的用户

How to create user having member in multiple groups in chef user resource

创建用户时我们可以在gid中指定他所属的组,如果这个用户属于多个组我们如何在chef中指定

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

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

事实上,这不是一个拥有多个群组的用户,而是一个拥有多个用户的群组(在 /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