diff options
author | Pascal Terjan <pterjan@gmail.com> | 2016-02-07 02:48:56 +0100 |
---|---|---|
committer | Pascal Terjan <pterjan@gmail.com> | 2016-02-07 01:49:50 +0000 |
commit | 12ac047b5141c0efc8b0fdf4b10e59a711424d8f (patch) | |
tree | 908de2f136aa62fc78c2000a6a2d68ee076c083f /modules | |
parent | cdb95a1611424e813cd9be9f5d6edb34b07c7814 (diff) | |
download | puppet-12ac047b5141c0efc8b0fdf4b10e59a711424d8f.tar puppet-12ac047b5141c0efc8b0fdf4b10e59a711424d8f.tar.gz puppet-12ac047b5141c0efc8b0fdf4b10e59a711424d8f.tar.bz2 puppet-12ac047b5141c0efc8b0fdf4b10e59a711424d8f.tar.xz puppet-12ac047b5141c0efc8b0fdf4b10e59a711424d8f.zip |
Get group members from getent instead of /etc/group
Diffstat (limited to 'modules')
-rw-r--r-- | modules/mga_common/lib/puppet/parser/functions/group_members.rb | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/modules/mga_common/lib/puppet/parser/functions/group_members.rb b/modules/mga_common/lib/puppet/parser/functions/group_members.rb index 0324adb2..ea275be2 100644 --- a/modules/mga_common/lib/puppet/parser/functions/group_members.rb +++ b/modules/mga_common/lib/puppet/parser/functions/group_members.rb @@ -1,10 +1,14 @@ -require 'etc' # group_members($group) # -> return a array with the login of the group members module Puppet::Parser::Functions newfunction(:group_members, :type => :rvalue) do |args| group = args[0] - return Etc.getgrnam(group).mem + `getent group`.each_line do |l| + if l =~ /^#{group}:/ then + return l.chomp.split(':')[3].split(',') + end + end + raise ArgumentError, "can't find group for #{group}" end end |