Class: Entitlements::Plugins::PosixGroup
- Inherits:
-
Entitlements::Plugins
- Object
- Entitlements::Plugins
- Entitlements::Plugins::PosixGroup
- Includes:
- Contracts::Core
- Defined in:
- lib/entitlements/plugins/posix_group.rb
Constant Summary collapse
- C =
::Contracts
Class Method Summary collapse
Methods inherited from Entitlements::Plugins
Class Method Details
.gid_number(group) ⇒ Object
35 36 37 38 39 40 41 42 43 |
# File 'lib/entitlements/plugins/posix_group.rb', line 35 def self.gid_number(group) unless group..key?("gid_number") raise ArgumentError, "POSIX Group #{group.dn} has no metadata setting for gid_number!" end result = group.["gid_number"].to_i return result if result >= 1 && result < 65536 raise ArgumentError, "POSIX Group #{group.dn} has GID #{result} out of 1-65535 range!" end |
.override_hash(group, _plugin_config, ldap) ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/entitlements/plugins/posix_group.rb', line 17 def self.override_hash(group, _plugin_config, ldap) members = group.member_strings.map { |ms| ldap.person_dn_format.gsub("%KEY%", ms) } { "objectClass" => "PosixGroup", "memberUid" => members, "gidNumber" => gid_number(group).to_s, "uniqueMember" => nil, "owner" => nil } end |