Parent

CurrentProcess

Public Class Methods

change_privilege(user, group=user) click to toggle source
    # File lib/daemons/change_privilege.rb, line 4
 4:   def self.change_privilege(user, group=user)
 5:     puts "Changing process privilege to #{user}:#{group}"
 6:   
 7:     uid, gid = Process.euid, Process.egid
 8:     target_uid = Etc.getpwnam(user).uid
 9:     target_gid = Etc.getgrnam(group).gid
10: 
11:     if uid != target_uid || gid != target_gid
12:       Process.initgroups(user, target_gid)
13:       Process::GID.change_privilege(target_gid)
14:       Process::UID.change_privilege(target_uid)
15:     end
16:   rescue Errno::EPERM => e
17:     raise "Couldn't change user and group to #{user}:#{group}: #{e}"
18:   end

Disabled; run with --debug to generate this.

[Validate]

Generated with the Darkfish Rdoc Generator 1.1.6.