lib/daemonizable.rb
# Change privileges of the process
# to the specified user and group.
Change privileges of the process
to the specified user and group.
Change privileges of the process to the specified user and group .
def change_privilege(user, group=user)
      log ">> Changing process privilege to #{user}:#{group}"
      uid, gid = Process.euid, Process.egid
      target_uid = Etc.getpwnam(user).uid
      target_gid = Etc.getgrnam(group).gid
      if uid != target_uid || gid != target_gid
        Process.initgroups(user, target_gid)
        Process::GID.change_privilege(target_gid)
        Process::UID.change_privilege(target_uid)
      end
    rescue Errno::EPERM => e
      log "Couldn't change user and group to #{user}:#{group}: #{e}"
    end
def change_privilege ( user , group = user ) log ">> Changing process privilege to #{user}:#{group}" uid , gid = Process . euid , Process . egid target_uid = Etc . getpwnam ( user ) . uid target_gid = Etc . getgrnam ( group ) . gid if uid != target_uid || gid != target_gid Process . initgroups ( user , target_gid ) Process :: GID . change_privilege ( target_gid ) Process :: UID . change_privilege ( target_uid ) end rescue Errno :: EPERM => e log "Couldn't change user and group to #{user}:#{group}: #{e}" end
Change privileges of the process
to the specified user and group.
Change privileges of the process to the specified user and group .
# Change process ownership
user
<not_specific>
group
<not_specific>