質問: CentOSを利用しています。 rootになったときに/usr/local/binにインストールしたコマンドを打とうとしたのですが、 初期状態ではPATHが通っていませんでした。 セキュリティ関係かと思うのですが、何か理由があって /usr/local/binにPATHを通していないのでしょうか。 ご存知の方いらっしゃいましたらご教授お願いします。
回答: バグとして2012年にレポートされていますが、なぜかスルーされていますね。 Unix & Linux Stack Exchangeに似たような「Why does root not have /usr/local in path?」という質問があります。これの回答によると、歴史的に`/usr/local`は、公式ソフトウェア(多分`/bin`にあるコマンドなど)にバグがあったりした場合に、それをオーバーライドするためにローカルにインストールした非公式なソフトウェア(修正版や実験的機能を追加した版)を置く場所らしいです。で、rootは権限が強力なので、こういう非公式なものを不用意に実行すべきでないので、デフォルトでrootのPATHには`/usr/local`が含まれていないんだそうです。