タイプ1デスクトップファイルのセキュリティに関する考慮事項

タイプ1デスクトップファイルのセキュリティに関する考慮事項

これ無料デスクトップ整理する標準定義ファイル用.desktop。残念ながら定義されていません特権ファイルの(参照無料デスクトップメーリングリスト) ソフトウェアは以下を介して配布されます。

a) executable .desktop files
b) non executable .desktop files
c) mixed a) and b) in one software package. 

これは次のような場合に便利です。Linuxディストリビューター、彼らの目標は、一貫したシステムを提供することです。私はより多くを学ぶためにsxの膨大な観客を活用したいと思います。

.desktopファイルの利点は何ですか?いいえ実行ビット?.desktopファイルシステムで許可されている場合、すべてのファイルを実行できる理由はありますか?

既知のセキュリティ問題がありますか?実行ファイルに問題があるプログラムがありますか.desktop

ベストアンサー1

aに必ずしも実行可能ビットが設定されていない1つの明らかな理由は、.desktopこれらのファイルが最初から実行可能でないためです。ファイルには、.desktopデスクトップ環境にプログラムをファイル形式に関連付ける方法を示すメタデータが含まれていますが、それ自体はそうするようには設計されていません。

ただし、.desktopファイルはグラフィカル環境で何を実行するかを間接的に通知するため、その中に定義されているすべてのプログラムを実行するための間接的な能力があり、悪用の可能性が高くなります。悪意のあるファイルが悪意のあるプログラムや不要なプログラムを実行するのを防ぐために、.desktopKDEとgnomeの開発者は、セキュリティ層を追加するためにUnixファイルの実行権限の意図された目的からやや逸脱したカスタム核を導入しました。この新しいレイヤーを使用すると、.desktopデスクトップ環境では実行可能ビットが設定されているファイルのみが考慮されます。

単にファイルなどの非実行ファイルを.desktop実行可能ファイルに変換することは危険を伴うので、疑わしい慣行になります。 shebangを持たない非バイナリ実行可能ファイルは、シェル(シェルかどうか)によって実行されbashますsh。非シェルスクリプトを実行するためにシェルを必要とするファイルは、予測不能な結果を​​生成する可能性があります。

この問題を回避するには、ファイルにshebangがあり、.desktopそれを処理するように設計された正しいコマンドを指す必要があります。xdg - 開く、Thunderbirdがここでやったように:

#!/usr/bin/env xdg-open
[Desktop Entry]
Version=1.0
Name=Thunderbird
GenericName=Email
Comment=Send and Receive Email
...

この場合、ファイルを実行すると、ブラウザまたはテキストエディタでファイルを開くことも、期待したものと異なる場合がある正しいタスク(およびデスクトップ環境)が考えるタスクが実行されます.desktopxdg-open

おすすめ記事