Homebrewは/ usr / localの所有権を必要としなくなりましたか?


28

今日、私は走りました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

この変更は少し疑わしいようです。どうやってセキュリティコントロールをバイパスして、この新しい動作を醸造するのですか?


バイパスするセキュリティ管理策は何ですか?/usr/localSIPには含まれていません。「サードパーティのアプリとインストーラーがインクルードするために書き込むことができるパスとアプリケーション:」の下にあるMacのシステム整合性保護についてを参照してください/usr/local
user3439894

3
ただし、Homebrewのユーザーではないため、OS Xに含まれていないユーティリティをソースコードから直接コンパイルすると、Homebrewは必要に応じて書き換えられ、他のアプリのように正常に動作する必要があると思います過去に行われました。IMO Homebrewは、最初からルートの所有権を奪う必要がないように、最初から書かれている必要があります。
user3439894

つまり/usr/local、その子が所有されているroot:adminroot:wheel、グループ書き込み可能でない場合、私はそれらのディレクトリに書き込むためのアクセス権を持っていません(おそらくホームブリューもしません)が、その場合、ホームブリューはインストールをどのように管理できますかそれらの場所からアプリケーションを削除しますか?
ジェイソンR.クームス

3
私は、メッセージ/usr/localが子孫ではなく、参照のみであることに気付いています。そして、新しいhomebrewインストールが何をするかを見ると、すべてのサブディレクトリが$ USERとグループ書き込み可能によって所有されるように設定されます。
ジェイソンR.クームス

回答:


19

このrubyスクリプト:update-report.rbによると、彼らは/ usr / local / Homebrewに物を移動したところです。


2
/ usr / local / Homebrewを作成するために、/ usr / localが$ USERによって書き込み可能である必要はありませんか?/ usr / local / Cellarや/ usr / local / optなどの他のディレクトリはどうですか?homebrewは、これらのディレクトリに書き込むために(非sudo)アクセスをまだ必要としませんか?dirsがrootによって所有されており、グループ書き込み可能でない場合、どうすればそれができますか?
ジェイソンR.クームス

1
最初のインストールでは、彼らはまだ見、自作のリポジトリを作成するために、sudoを使用しインストール。更新のための私の答えのスクリプトは、その時点であなたはまだ古いバージョンでchown-edした/ usr / localを所有しています。
albb

6

/usr/localこれで、必要なすべてのルートディレクトリを作成し、/usr/localそれ自体に必要ではなく、それらの所有権を確認します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.