質問: 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`が含まれていないんだそうです。