パッケージマネージャー Homebrew (私はOS Xを使用していますが、ディレクトリのアクセス許可に関連するため、一般的にUnixベースのセキュリティに興味があります)/usr/local/bin
の所有者をユーザーに設定します(デフォルトではroot
ですよね?)つまり、実行ファイルを/usr/local/bin
に移動するだけで実行可能ファイルをインストールできるようになりました(Sudo
は不要)。
/usr/local/bin
はroot
が所有していますか?/usr/local/bin
を共有することは、セキュリティ上の大きな問題ではありません。これで、実行するソフトウェアはすべて、パスワードを要求せずにプログラムをインストールできるようになりました。[〜#〜] FAQ [〜#〜] から、これは、パッケージをインストールするときにrootとしてインターネットから任意のコードを実行しなければならないという危険な慣行を回避するためです。これは、ほとんどのユーザーにとって妥当な妥協案です。Homebrewは通常、実稼働マルチユーザーサーバーではなく、1人の開発マシンで使用されます。
Homebrewは、Sudoを使用せずに動作するように設計されています。使用することもできますが、使用しないことを強くお勧めします。 Sudoを使用していてバグに遭遇した場合は、それが原因である可能性があります。 Sudoを使用せずにHomebrewを最初から再インストールした後で再現できない場合を除き、バグレポートを提出しないでください。
信頼できるツールのみをSudoする必要があります。もちろん、Homebrewを信頼することはできます;)しかし、Homebrewが実行する数メガバイトのMakefileを信頼しますか?開発者は、make構文を理解するよりもはるかによくC++を理解することがよくあります。そんなことをスードするリスクは高すぎる。それはあなたのベースシステムを壊したり、微妙に変えたりするかもしれません。
実際、一部のビルドスクリプトは、プレフィックスが完全に別のものとして指定されている場合でも
/usr
を変更しようとするのを見てきました。ルート
/Applications/TextMate.app
を変更しましたか?おそらく違います。それで、chown root wget
にとってそれは重要ですか?マルチユーザー環境でHomebrewを実行する必要がある場合は、特にHomebrewを使用するために別のユーザーアカウントを作成することを検討してください。
~
にインストールされない理由については、 以前のFAQ質問 "Homebrewが/usr/local
よりもインストールを好む理由を参照してください。 ? "。