Подтвердить что ты не робот

В Unix найдите, является ли пользователь, выполнивший программу, root?

Я пишу грабли script и хотел бы обнаружить (используя Ruby, а не bash, если это возможно), если пользователь, выполнивший rake script, имеет привилегии root.

Если это не root, я хотел бы закончить script.

4b9b3361

Ответ 1

Используйте uid или euid в Process класс:

raise 'Must run as root' unless Process.uid == 0

Ответ 2

Я не знаю Ruby, но вы хотите проверить, является ли идентификатор пользователя 0. В C вы сделали бы это, установив getuid(). Из командной строки Unix вы также можете проверить вывод id -u.