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?
Yang mengatakan, tidak menjadi pengguna Homebrew, karena saya mengkompilasi langsung dari kode sumber utilitas yang saya inginkan yang tidak termasuk dalam OS X, namun saya akan membayangkan bahwa Homebrew telah ditulis ulang sesuai kebutuhan / perlu untuk bertindak secara normal seperti aplikasi lain memiliki dilakukan di masa lalu. IMO Homebrew seharusnya ditulis sejak awal agar tidak harus merebut kepemilikan root untuk memulainya!
—
user3439894
Maksud saya, jika
—
Jason R. Coombs
/usr/local
dan anak-anaknya dimiliki oleh root:admin
atau root: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?
Saya hanya memperhatikan bahwa pesan itu hanya referensi
—
Jason R. Coombs
/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.
/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.