Class: Inspec::Resources::DarwinGroup
- Defined in:
- lib/resources/groups.rb
Overview
OSX uses opendirectory for groups, so ‘/etc/group` may not be fully accurate This uses `dscacheutil` to get the group info instead of `etc_group`
Instance Attribute Summary
Attributes inherited from GroupInfo
Instance Method Summary collapse
Methods inherited from GroupInfo
Constructor Details
This class inherits a constructor from Inspec::Resources::GroupInfo
Instance Method Details
#groups ⇒ Object
175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 |
# File 'lib/resources/groups.rb', line 175 def groups group_info = inspec.command('dscacheutil -q group').stdout.split("\n\n") groups = [] regex = /^([^:]*?)\s*:\s(.*?)\s*$/ group_info.each do |data| groups << inspec.parse_config(data, assignment_regex: regex).params end # Convert the `dscacheutil` groups to match `inspec.etc_group.entries` groups.each { |g| g['gid'] = g['gid'].to_i } groups.each do |g| next if g['users'].nil? g['members'] = g.delete('users') g['members'].tr!(' ', ',') end end |