# File lib/puppet/util.rb, line 47
47:   def self.chuser
48:     if group = Puppet[:group]
49:       group = self.gid(group)
50:       raise Puppet::Error, "No such group #{Puppet[:group]}" unless group
51:       unless Puppet::Util::SUIDManager.gid == group
52:         begin
53:           Puppet::Util::SUIDManager.egid = group
54:           Puppet::Util::SUIDManager.gid = group
55:         rescue => detail
56:           Puppet.warning "could not change to group #{group.inspect}: #{detail}"
57:           $stderr.puts "could not change to group #{group.inspect}"
58: 
59:           # Don't exit on failed group changes, since it's
60:           # not fatal
61:           #exit(74)
62:         end
63:       end
64:     end
65: 
66:     if user = Puppet[:user]
67:       user = self.uid(user)
68:       raise Puppet::Error, "No such user #{Puppet[:user]}" unless user
69:       unless Puppet::Util::SUIDManager.uid == user
70:         begin
71:           Puppet::Util::SUIDManager.initgroups(user)
72:           Puppet::Util::SUIDManager.uid = user
73:           Puppet::Util::SUIDManager.euid = user
74:         rescue => detail
75:           $stderr.puts "Could not change to user #{user}: #{detail}"
76:           exit(74)
77:         end
78:       end
79:     end
80:   end