I'm writing a rake script and would like to detect (using Ruby rather than bash if possible) if the user who executed the rake script has root privileges.
If it is not root then I would like to terminate the script.
I'm writing a rake script and would like to detect (using Ruby rather than bash if possible) if the user who executed the rake script has root privileges.
If it is not root then I would like to terminate the script.
Use uid
or euid
in the Process
class:
raise 'Must run as root' unless Process.uid == 0
I don't know Ruby, but what you want to check for is if the user ID is 0. In C, you would do this by checking getuid()
. From the Unix command line, you could also check the output of id -u
.