29: def self.chuser
30: if group = Puppet[:group]
31: group = self.gid(group)
32: unless group
33: raise Puppet::Error, "No such group %s" % Puppet[:group]
34: end
35: unless Puppet::Util::SUIDManager.gid == group
36: begin
37: Puppet::Util::SUIDManager.egid = group
38: Puppet::Util::SUIDManager.gid = group
39: rescue => detail
40: Puppet.warning "could not change to group %s: %s" %
41: [group.inspect, detail]
42: $stderr.puts "could not change to group %s" % group.inspect
43:
44:
45:
46:
47: end
48: end
49: end
50:
51: if user = Puppet[:user]
52: user = self.uid(user)
53: unless user
54: raise Puppet::Error, "No such user %s" % Puppet[:user]
55: end
56: unless Puppet::Util::SUIDManager.uid == user
57: begin
58: Puppet::Util::SUIDManager.uid = user
59: Puppet::Util::SUIDManager.euid = user
60: rescue
61: $stderr.puts "could not change to user %s" % user
62: exit(74)
63: end
64: end
65: end
66: end