Heute lief ich brew update
und nach der Migration des Repositorys wurde gemeldet, dass es nicht länger den Besitz von /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
Diese Änderung scheint ein wenig zweifelhaft. Wie erreicht Brew dieses neue Verhalten, indem es anscheinend die Sicherheitskontrollen umgeht?
macos
homebrew
permission
Jason R. Coombs
quelle
quelle
/usr/local
ist im SIP nicht enthalten. Weitere Informationen finden Sie unter Informationen zum Systemintegritätsschutz auf Ihrem Mac unter "Pfade und Anwendungen, in die Apps und Installationsprogramme von Drittanbietern schreiben können:"/usr/local
./usr/local
und seine Kinder Eigentum vonroot:admin
oder sindroot:wheel
und nicht gruppenbeschreibbar, dann habe ich keinen Zugriff auf diese Verzeichnisse (und vermutlich auch nicht auf Homebrew), aber wenn dies der Fall ist, wie kann Homebrew die Installation verwalten und Entfernen von Anwendungen von diesen Standorten?/usr/local
aufgefallen , dass die Nachricht nur Verweise enthält und keine Nachkommen. Und wenn man sich ansieht, was eine brandneue Homebrew-Installation bewirkt, werden alle Unterverzeichnisse so festgelegt, dass sie im Besitz von $ USER sind und für Gruppen beschreibbar sind.Antworten:
Laut diesem Ruby-Skript: update-report.rb , haben sie gerade etwas nach / usr / local / Homebrew verschoben, das immer noch in Ihrem Besitz ist.
quelle
Wir erstellen jetzt alle von
/usr/local
Ihnen benötigten Root-Verzeichnisse und überprüfen deren Besitz, anstatt ihn für sich/usr/local
selbst zu benötigen .quelle