Method: Puppet::Provider::NameService#groups

Defined in:
lib/puppet/provider/nameservice.rb

#groupsObject

The list of all groups the user is a member of. Different user mgmt systems will need to override this method.



244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
# File 'lib/puppet/provider/nameservice.rb', line 244

def groups
  groups = []

  # Reset our group list
  Puppet::Etc.setgrent

  user = @resource[:name]

  # Now iterate across all of the groups, adding each one our
  # user is a member of
  while group = Puppet::Etc.getgrent
    members = group.mem

    groups << group.name if members.include? user
  end

  # We have to close the file, so each listing is a separate
  # reading of the file.
  Puppet::Etc.endgrent

  groups.join(",")
end