Параноїдальна установка homebrew

Homebrew - кльова штука, проте вона вкрай небезпечна в звичайному режимі установки - файли ставляться в каталог / usr / local з правами поточного користувача, тому, якщо в систему пролізе зловредів, він легко зможе змінити дуже важливі для безпеки файли в каталозі / usr / local . У homebrew faq дуже не радять ставити brew через sudo. проте там неявно мається на увазі установка з правами суперюзера. Так дійсно жити не можна, тому підемо іншим шляхом - виділимо для brew окремого користувача і окрему групу, і всі операції по установці будемо проводити через неї.

Весь подальший текст має на увазі, що ви користуєтеся операційною системою Mac OS X версії 10.9 Mavericks, все скріншоти і системні шляху зроблені саме для неї, в інших версіях все може дещо відрізнятися. Також всі назви розділів операційки даються англійською. Всі команди набираються в терміналі руками.

Спочатку коротко про процес:

  • створити користувача і групу з ім'ям homebrew;
  • змінити перміссіі каталогу / usr / local;
  • встановити homebrew з-під користувача homebrew;
  • поставити пакет wget через команду brew.

Можливі наслідки

Традиційне попередження: ви все робите на свій страх і ризик, я нічого не гарантую і нічого не обіцяю, всі збіги з реальними особами є випадковими і так далі.

В процесі установки відбувається зміна груп і перміссій на деякі каталоги всередині / usr / local. якщо у вас там вже щось встановлено, наприклад, в / usr / local / bin. то це «щось» може перестати працювати. В ідеалі каталог / usr / local перед початком установки повинен бути порожнім.

Ви повинні чітко розуміти, як працює команда sudo і що означають її аргументи -u і -i.

Користувачі і групи

Відкриваємо вікно налаштувань «Users Groups »(System Preferences ... → Users Groups), тиснемо іконку з замком і вводимо свій пароль, щоб розблокувати редагування.

Створюємо користувача з ім'ям brew і яким-небудь складним рандомних паролем (цей пароль запам'ятовувати ніде не потрібно, він нам ніколи не знадобиться, потрібно лише зробити його максимально складним, щоб не можна було підібрати автоматичним перебором), логінитися під цим користувачем в систему через десктоп НЕ потрібно ніколи, а всі команди ми будемо виконувати через sudo.

Створюємо групу з ім'ям brew і включаємо в неї користувача brew.

Щоб створений користувач не показувався на екрані логіна, можна виконати таку команду (взято звідси):

Оновлена ​​інструкція для El Capitan:

Ставимо brew за інструкцією з офіційного сайту. НЕ запускаємо більше ніяких команд.

Тепер відкриваємо термінал і запускаємо наступну магію (не звертайте уваги на помилки типу «No such file or directory»):

Кілька важливих моментів, що стосуються безпеки:

  • НЕ додаємо поточного (головного) користувача в групу brew;
  • НЕ додаємо користувача brew в групу admin (тобто в діалозі редагування не включаємо Крижик «Allow user to administer this computer»).

установка homebrew

Стандартна процедура установки з офсайта в нашій ситуації працювати не буде, оскільки користувач brew не є адміністратором, тому встановлюємо в ручному режимі. Спочатку необхідно поставити інструменти з xcode (вони потрібні для складання пакетів):

Тепер важливий момент - все команди далі в цьому розділі запускаються в терміналі з-під користувача brew. Домогтися цього можна двома способами: або постійно набирати команди типу sudo -u brew command. або відкрити shell-сесію з-під юзера brew. sudo -u brew -i. Мені більше подобається другий варіант, тобто відкриваємо shell-сесію і працюємо в ній.

Встановлюємо потрібні файли для brew з офсайта (не звертайте уваги на помилки типу «Can not update time»):

Тепер запускаємо оновлення (в процесі буде запущений git і ініціалізованим першим репозиторій brew):

завершення установки

Усе! Тепер процес роботи з brew буде виглядати приблизно так:

Тут найважливіший компонент - це префікс sudo -u brew -i перед командою brew. без нього працювати нічого не буде.

Наприклад, для поновлення робимо так:

Схожі статті