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

StackOverflow https://stackoverflow.com/questions/641449

Вопрос

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

Если это не root, я хотел бы прекратить работу сценария.

Это было полезно?

Решение

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

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

Другие советы

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top