Ответ 1
Используйте uid
или euid
в Process
класс:
raise 'Must run as root' unless Process.uid == 0
Я пишу грабли script и хотел бы обнаружить (используя Ruby, а не bash, если это возможно), если пользователь, выполнивший rake script, имеет привилегии root.
Если это не root, я хотел бы закончить script.
Используйте uid
или euid
в Process
класс:
raise 'Must run as root' unless Process.uid == 0
Я не знаю Ruby, но вы хотите проверить, является ли идентификатор пользователя 0. В C вы сделали бы это, установив getuid()
. Из командной строки Unix вы также можете проверить вывод id -u
.