Hari ini saya berlari brew update
dan setelah memigrasi repositori, ia melaporkan bahwa ia tidak lagi memerlukan kepemilikan /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
Perubahan ini sepertinya sedikit meragukan. Bagaimana cara minuman mencapai perilaku baru ini, yang tampaknya melewati kontrol keamanan?
macos
homebrew
permission
Jason R. Coombs
sumber
sumber
/usr/local
tidak termasuk dalam SIP. Lihat Tentang Perlindungan Integritas Sistem pada Mac Anda di bawah "Jalur dan aplikasi yang dapat ditulis oleh aplikasi dan pemasang oleh pihak ketiga:"/usr/local
terdaftar./usr/local
dan anak-anaknya dimiliki olehroot:admin
atauroot:wheel
dan tidak dapat ditulis kelompok, maka saya tidak memiliki akses untuk menulis ke direktori tersebut (dan mungkin juga tidak akan homebrew), tetapi jika itu masalahnya, bagaimana Homebrew dapat mengatur instalasi dan menghapus aplikasi dari lokasi tersebut?/usr/local
dan bukan turunannya. Dan melihat apa yang dilakukan oleh instalasi homebrew baru, ia mengatur semua subdir yang akan dimiliki oleh $ USER dan grup yang dapat ditulisi.Jawaban:
Menurut skrip ruby ini: update-report.rb , mereka baru saja memindahkan barang ke / usr / local / Homebrew, yang masih dimiliki oleh Anda.
sumber
Kami sekarang membuat semua direktori root
/usr/local
yang Anda butuhkan dan memeriksa kepemilikannya alih-alih mengharuskannya/usr/local
sendiri.sumber