root ユーザーの環境で /usr/local/bin にパスが通っていない理由は？


CentOS を利用しています。  
root になったとき、`/usr/local/bin` にインストールしたコマンドを実行しようとしたのですが、初期状態では PATH
が通っていませんでした。

セキュリティ関係かと思うのですが、何か理由があって `/usr/local/bin` に PATH
を通していないのでしょうか。ご存知の方いらっしゃいましたらご教授お願いします。




CentOS を離れて商用 UNIX の事情を言うなら

`/usr/bin` や `/bin` はベンダが提供している＝ベンダが動作保証をしているソフトが入っていて  
`/usr/local/bin` は野良ビルド (ユーザが自力コンパイルしたソフト) が入っています。  
(うちの HP-UX は完全にそういう構成、運用をしてます。  
バイナリ提供されたソフトの実行形式だけをインストールするなんてありえないです)

ベンダが提供している `root` で起動していいのはベンダが保証しているソフトのみ、  
ってことで `root` の `PATH` には `/usr/local/bin` を含めないほうが良い、という判断らしいです。

セキュリティにうるさい `root` は `ls` の起動ですら `/bin/ls` と打つべし  
なんて話を聞いたことがあります (不正な `ls` を絶対に起動させないため) 。  
`/usr/local/bin` にあるソフトを `root` で使わざるを得ないときは意識してフルパス打つべし  
ってことでしょう。




CentOS を離れて商用 UNIX の事情を言うなら

`/usr/bin` や `/bin` はベンダが提供している＝ベンダが動作保証をしているソフトが入っていて  
`/usr/local/bin` は野良ビルド (ユーザが自力コンパイルしたソフト) が入っています。  
(うちの HP-UX は完全にそういう構成、運用をしてます。  
バイナリ提供されたソフトの実行形式だけをインストールするなんてありえないです)

ベンダが提供している `root` で起動していいのはベンダが保証しているソフトのみ、  
ってことで `root` の `PATH` には `/usr/local/bin` を含めないほうが良い、という判断らしいです。

セキュリティにうるさい `root` は `ls` の起動ですら `/bin/ls` と打つべし  
なんて話を聞いたことがあります (不正な `ls` を絶対に起動させないため) 。  
`/usr/local/bin` にあるソフトを `root` で使わざるを得ないときは意識してフルパス打つべし  
ってことでしょう。

