
echo $PATH
非ルートユーザーの場合、を使用すると次のようになると読みました。
/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:/home/username/bin:
echo $PATH
を使用すると、ROOT ユーザーの場合は次のようになると読みました。
/sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/bin
と入力するとecho $PATH
、次のようになります。
/home/uname/bin:/home/uname/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
これは、ルート ユーザーの出力のように見えます。ルート アクセスを開始していないのに、ディレクトリ内に「悪意のある実行可能プログラム」があり、(許可されていないリモート) ルート アクセスが許可されるなど、心配する必要があるのでしょうか。
答え1
悪意のある攻撃である可能性は低いですが、その PATH は注意すべきものです。その PATH 内のディレクトリについて考えてみましょう。
/home/uname/bin
/home/uname/.local/bin
/usr/local/sbin
/usr/local/bin
/usr/sbin
/usr/bin
/sbin
/bin
/usr/games
/usr/local/games
コメントが2つあります:
/home/uname/bin
および はPATH にリストされている最初のディレクトリであるためhome/uname/.local/bin
、そこにある実行ファイルが標準のシステム実行ファイルを上書きする可能性があります。誰かが、そのような実行ファイルが標準の実行ファイルよりも優れていると考えている可能性があります。ただし、それらの実行ファイルと標準の実行ファイルの間に非互換性があると、予期しないときにスクリプトが失敗する可能性があります。確かに、これらのディレクトリを PATH の先頭に置くことは珍しいことではなく、役に立つこともあります。ただし、潜在的な欠点には注意する必要があります。
ご存知のとおり、、、などのディレクトリは
/usr/local/sbin
、/usr/sbin
通常/sbin
、ルートにのみ役立ちます。 にこれらのディレクトリがあっても、セキュリティ違反にはなりませんがPATH
、奇妙です。