$PATH: 出力に悪意のあるプログラムが表示されますか?

$PATH: 出力に悪意のあるプログラムが表示されますか?

echo $PATHroot以外のユーザーの場合は、次のようにする必要があることを読みました。

/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:/home/username/bin:

echo $PATHROOTユーザーの使い方については、次のようにする必要があることを読んでいます。

/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

これはrootユーザーの出力でなければならないようです。これは私が心配しなければならないことですか?たとえば、rootアクセスなしで起動すると、私のディレクトリに(不正リモート)rootアクセスを提供する「悪意のある実行可能ファイル」がありますか?

ベストアンサー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つの意見を持っています:

  1. /home/uname/binとはPATHにリストされている最初のディレクトリであるため、home/uname/.local/binそのディレクトリの実行可能ファイルは標準のシステム実行可能ファイルを上書きできます。場合によっては、これらの実行可能ファイルが標準の実行可能ファイルより優れていると考えることもあります。ただし、これらの実行可能ファイルと標準実行可能ファイルの間の互換性がないため、予期しない瞬間にスクリプトが失敗する可能性があります。

    確かに、PATHの先頭にこれらのディレクトリを置くことは珍しいことではなく、便利です。潜在的な欠点を知っておく必要があります。

  2. /usr/local/sbinご存知のように、、、/usr/sbinなどのディレクトリは/sbin通常ルートにのみ役立ちます。どんな方法でも安全違反ではありませんがPATH、おかしいです。

おすすめ記事