2016-11-30 5 views
1

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

Error: Running Homebrew as root is extremely dangerous and no longer supported. As Homebrew does not drop privileges on installation you would be giving all build scripts full access to your system.

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

+1

Этот вопрос может также относиться к одному из сайтов Stack Exchange, относящихся к Unix или Unix-подобным ОС. – esote

ответ

3

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

+0

Ничего себе, это намного проще, чем я думал. –

+0

@EliSadoff В зависимости от языка, на котором вы программируете, есть, скорее всего, решение узнать, как работает программа, какой пользователь. – Rosme

+0

Я пишу много вещей в рубине, поэтому я могу просто использовать '' check = 'id -u''' и перейти оттуда. –

Смежные вопросы