module Process

Public Class Methods

change_privilegies(user, group) click to toggle source

Drop privilegies and chown logfile

timetobleed.com/5-things-you-dont-know-about-user-ids-that-will-destroy-you/ www.ruby-forum.com/topic/110492

# File lib/workety/extensions/process.rb, line 26
def self.change_privilegies user, group
  user = user ? Etc.getpwnam(user) : Etc.getpwuid(Process.euid)
  group = group ? Etc.getgrnam(group) : Etc.getgrgid(user.gid)
  
  Rails.logger.chown_logfile(user.uid, group.gid) if Rails.logger.respond_to?(:chown_logfile)
  
  Process.initgroups(user.name, group.gid)
  
  Process::GID.change_privilege(group.gid) 
  Process::UID.change_privilege(user.uid)
end