Changeset 758
- Timestamp:
- 10/26/07 02:55:39 (11 months ago)
- Files:
-
- tags/rel_1-0-2/lib/mongrel/configurator.rb (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
tags/rel_1-0-2/lib/mongrel/configurator.rb
r757 r758 55 55 def change_privilege(user, group) 56 56 begin 57 if group && user 58 log "Initializing groups for #{user.inspect}:#{group.inspect}." 59 Process.initgroups(user, Etc.getgrnam(group).gid) 57 uid, gid = Process.euid, Process.egid 58 target_uid = Etc.getpwnam(user).uid if user 59 target_gid = Etc.getgrnam(group).gid if group 60 61 if group and user and (uid != target_uid or gid != target_gid) 62 log "Initiating groups for #{user.inspect}:#{group.inspect}." 63 Process.initgroups(user, target_id) 60 64 end 61 65 62 if group 63 if Etc.getgrnam(group).gid != Process.egid 66 if group and gid != target_gid 64 67 log "Changing group to #{group.inspect}." 65 Process::GID.change_privilege(Etc.getgrnam(group).gid) 66 else 67 log "Already running as group #{group.inspect}" 68 end 69 end 70 71 if user 68 Process::GID.change_privilege(target_gid) 69 end 70 71 if user and uid != target_uid 72 72 if Etc.getpwnam(user).uid != Process.euid 73 73 log "Changing user to #{user.inspect}." 74 Process::UID.change_privilege(Etc.getpwnam(user).uid) 75 else 76 log "Already running as user #{user.inspect}" 74 Process::UID.change_privilege(target_uid) 77 75 end 78 76 end
