Сегодня я запустил 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, так как я компилирую непосредственно из исходного кода нужные мне утилиты, которые не включены в OS X, тем не менее я представляю, что Homebrew был переписан по мере необходимости / необходимости для нормальной работы, как в других приложениях. сделано в прошлом. IMO Homebrew должен был быть написан с самого начала, чтобы не иметь права узурпировать владение корнем с самого начала!
—
user3439894 19.09.16
Я имею в виду, что если
—
Джейсон Р. Кумбс
/usr/local
и его дочерние элементы принадлежат root:admin
или root:wheel
не являются доступными для записи в группе, то у меня нет доступа для записи в эти каталоги (и ни один из них не является доморощенным, предположительно), но если это так, как Homebrew может управлять установкой и удаление приложений из этих мест?
Я просто замечаю, что в сообщении только ссылки,
—
Джейсон Р. Кумбс
/usr/local
а не его потомки. И, глядя на то, что делает совершенно новая установка homebrew, он устанавливает все подкаталоги, которые будут принадлежать $ USER и группе с возможностью записи.
/usr/local
Не входит в SIP. См. Раздел « Защита целостности системы на вашем Mac» в разделе «Пути и приложения, которые сторонние приложения и установщики могут написать для включения:»/usr/local
.