Class: Inspec::Resources::DarwinGroup
- Defined in:
- lib/inspec/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
167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 |
# File 'lib/inspec/resources/groups.rb', line 167 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 |