Mega Code Archive

 
Categories / Ruby / Threads
 

Check to see what you can do

def what_can_i_do?   sys = Process::Sys   puts "UID=#{sys.getuid}, GID=#{sys.getgid}"   puts "Effective UID=#{sys.geteuid}, Effective GID=#{sys.getegid}"   file = '/bin/ls'   can_do = [:readable?, :writable?, :executable?].inject([]) do |arr, method|     arr << method if File.send(method, file); arr   end   puts "To you, #{file} is: #{can_do.join(', ')}" end what_can_i_do? Process.uid = 1000 what_can_i_do?