Linuxがファイル形式を決定する方法と実行方法

Linuxがファイル形式を決定する方法と実行方法

ファイル拡張子を省略するとセキュリティリスクは発生しませんか? .pdfファイルは完全にバッチファイルにすることができます。そうですか?あるいは、.txtは.pdf(含まれているjsを含む)にすることもできます。ここでの可能性は終わりがないようです。

問題は、Linuxがファイルを実行するために間違ったプログラムを選択するということではありません。わかりましたLinuxはファイルの種類をどうやって知ることができますか?どのようにLinuxのファイル拡張子とプログラムとの関連付け。しかし、これは攻撃者がユーザーをだまして誤ったタイプのファイルを実行するのを容易にしませんか?

ベストアンサー1

ファイルが「実行」される方法にはいくつかのコンテキストがあります。

execve()1つ目は、プログラムを実行するためにシステムコールを使用するようにカーネルに要求する場合です。ここでファイルの実行権限が機能します。実行権限ビットが設定されていない場合、ファイルはこのようにプログラムとして実行できません。

2番目は、Unity、Plasma、Nautilusなどの他の特殊なシェルを使用することです。これらのシェルは通常、fileファイルをスキャンし、MIMEタイプ(ファイルタイプ宣言とビジュアルインジケータを提供)を取得するプログラムを実行します。頼むなら開いているファイルに対して通常呼び出されます。このファイルはそのファイルで再度実行され、システムxdg-openfileそのタイプのファイルでどのような操作を実行するように構成されているのか、そのファイルを開くために使用できるプログラムなどを探します。

特別で興味深いケースがあります。 Windowsの「.lnk」ショートカットファイルと同様に、Linuxにも「.desktop」ファイルがあります。これらのファイルには、ファイルアイコンの外観、ファイルの実行時に実行する必要がある操作などの手順が含まれています。

おすすめ記事