Как homebrew предотвращает использование с sudo?

Когда я пытаюсь установить, используя homebrew с sudo привилегиями, например sudo brew install lua, я получаю это сообщение

Ошибка: запуск Homebrew от имени root чрезвычайно опасен и больше не поддерживается. Поскольку Homebrew не теряет привилегий при установке, вы предоставляете всем сценариям сборки полный доступ к вашей системе.

Я понимаю эту ошибку и считаю ее хорошей идеей, но как brew определить, что я использую sudo? Могу ли я реализовать эту функцию и в своих приложениях?


person Eli Sadoff    schedule 30.11.2016    source источник
comment
Этот вопрос также может относиться к одному из сайтов Stack Exchange, который имеет дело с Unix или Unix-подобными ОС.   -  person esote    schedule 01.12.2016


Ответы (1)


Brew.sh использует id -u, чтобы проверить, работает ли он от имени пользователя root. Если он работает как root, он вернет 0. См. Это строка. После этого вопрос просто в том, чтобы показать сообщение в соответствии с полученным идентификатором.

person Rosme    schedule 30.11.2016
comment
Вау, это намного проще, чем я думал. - person Eli Sadoff; 30.11.2016
comment
@EliSadoff В зависимости от языка, на котором вы программируете, скорее всего, есть решение узнать, какой пользователь запускает программное обеспечение. - person Rosme; 30.11.2016
comment
Я пишу много вещей на Ruby, поэтому могу просто использовать check = `id -u` и двигаться дальше. - person Eli Sadoff; 30.11.2016
comment
@EliSadoff отлично! Если это соответствует вашим потребностям, обязательно выберите его в качестве ответа! - person Rosme; 30.11.2016
comment
Я буду. Я просто жду еще одну минуту, так что мне разрешено. - person Eli Sadoff; 30.11.2016