web-dev-qa-db-ja.com

/ usr / local / binはrootが所有する必要がありますか?

パッケージマネージャー Homebrew (私はOS Xを使用していますが、ディレクトリのアクセス許可に関連するため、一般的にUnixベースのセキュリティに興味があります)/usr/local/binの所有者をユーザーに設定します(デフォルトではrootですよね?)つまり、実行ファイルを/usr/local/binに移動するだけで実行可能ファイルをインストールできるようになりました(Sudoは不要)。

  1. 私はこれについて正しいですか、それは通常/usr/local/binrootが所有していますか?
  2. 通常のユーザーと/usr/local/binを共有することは、セキュリティ上の大きな問題ではありません。これで、実行するソフトウェアはすべて、パスワードを要求せずにプログラムをインストールできるようになりました。
7
orokusaki

[〜#〜] 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よりもインストールを好む理由を参照してください。 ? "。

6
ceejayoz