ファイルを実行するためにLinuxを使用するのはなぜですか./filename
?
ただ他のコマンドのように入力したらどうでしょうかgcc
?ls
ベストアンサー1
リテラルの回答は他の人が提供したものと同じです。現在のディレクトリが$PATH
。
しかし、なぜ?一言で言えば安全についてです。他の人のホームディレクトリ(または/ tmp)を表示または入力するgcc
と、いたずらls
友達が作成した悪意のあるバージョンではなく、実際のバージョンを実行しているので、すべてのファイルを削除できることがわかります。別の例はtest
またはです[
。シェルにこれらのコマンドが組み込まれていない場合は、シェルスクリプトでこれらのコマンドを置き換えることができます。
.
〜で持っている最後自分のルートに入る方が安全ですが、それを利用する他の攻撃もあります。これを行う簡単な方法は、sl
などの一般的なスペルミスを活用することですls-l
。または、そのシステムにインストールされていない一般的なコマンドを見つけます。vim
たとえば、システム管理者が平均よりも頻繁にコマンドを入力するためです。
とても理論的に聞こえますか?それ最大はい、しかし実際には特にマルチユーザーシステムでこれが間違いなく起こります。実際、以下は、このウェブサイトの例です。管理者はユーザーのホームディレクトリに切り替えて、ps
その名前の実行可能ファイルがブロックされていることを見つけます。