Dzisiaj uruchomiłem brew update
i po migracji repozytorium zgłosiło, że nie potrzebuje już własności /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
Ta zmiana wydaje się nieco wątpliwa. W jaki sposób brew osiąga to nowe zachowanie, najwyraźniej omijając kontrole bezpieczeństwa?
macos
homebrew
permission
Jason R. Coombs
źródło
źródło
/usr/local
jest uwzględnione w SIP. Zobacz Informacje o ochronie integralności systemu na komputerze Mac w sekcji „Ścieżki i aplikacje, które aplikacje i instalatorzy innych firm mogą pisać w celu włączenia:”/usr/local
./usr/local
i jej dzieci są własnościąroot:admin
Orroot:wheel
i nie są grupy zapisywalny, to nie mam dostępu do zapisu do tych katalogów (i nie będzie homebrew, prawdopodobnie), ale czy to przypadek, w jaki sposób można zarządzać instalacji Homebrew i usuwanie aplikacji z tych lokalizacji?/usr/local
a nie jej dekantery. Patrząc na to, co robi nowa instalacja homebrew, ustawia wszystkie podkatalogi, których właścicielem jest $ USER, i możliwość zapisu grupowego.Odpowiedzi:
Zgodnie z tym skryptem ruby: update-report.rb , właśnie przenieśli rzeczy do / usr / local / Homebrew, który nadal jest twoją własnością.
źródło
Teraz tworzymy wszystkie katalogi główne
/usr/local
, których potrzebujesz, i sprawdzamy na nich własność, a nie wymagamy jej od/usr/local
siebie.źródło