Сьогодні я побіг brew update
і після переміщення сховища повідомив, що йому більше не потрібно володіти /usr/local
:
$ brew update
Updated Homebrew from 5371359 to 13f08a2.
...
==> Migrating HOMEBREW_REPOSITORY (please wait)...
==> Migrated HOMEBREW_REPOSITORY to /usr/local/Homebrew!
Homebrew no longer needs to have ownership of /usr/local. If you wish you can
return /usr/local to its default ownership with:
sudo chown root:wheel /usr/local
Ця зміна здається трохи сумнівною. Яким чином Brew виконує цю нову поведінку, очевидно, минаючи засоби безпеки?
Це було сказано, що я не є користувачем Homebrew, оскільки я компілюю безпосередньо з вихідного коду потрібні утиліти, які не включаються в n OS X, проте я маю на увазі, що Homebrew буде переписаний у міру необхідності / необхідності, щоб діяти нормально, як і інші програми зроблено в минулому. IMO Homebrew повинен був бути написаний з get go, щоб не потрібно узурпувати право власності на root!
—
користувач3439894
Я маю на увазі, якщо
—
Джейсон Р. Кумбс
/usr/local
і його діти є власністю root:admin
або root:wheel
не підлягають груповому запису, то я не маю доступу писати до цих каталогів (і, напевно, ні до домашньої мови, але якщо так, то як Homebrew може керувати установкою та видалення програм із цих місць?
Я просто зауважую, що в повідомленні є лише посилання,
—
Джейсон Р. Кумбс
/usr/local
а не його підлеглі. І дивлячись на те, що робить нове програмне забезпечення для домашньої версії, воно встановлює, що всі підкаталоги належать користувачеві US US і груповому запису.
/usr/local
не включено в SIP. Див. Розділ Про захист цілісності системи на вашому Mac у розділі "Шляхи та програми, які сторонні програми та інсталятори можуть записати, щоб включити:"/usr/local
.