コードが署名されていることを確認できるシェルはありますか?

コードが署名されていることを確認できるシェルはありますか?

今週、PowerShellで遊んでスクリプトを実行するには、スクリプトに署名する必要があることがわかりました。 bashスクリプトの実行防止に関して、Linuxに同様のセキュリティ機能がありますか?

私が知る限り、同様の機能は特定のキーを必要とするSSHだけです。

ベストアンサー1

はい、いいえ。

Linuxソフトウェア配布は、Windowsソフトウェア配布とは少し異なる動作をします。 (非埋め込み)Linuxの世界でソフトウェアを配布する主な方法は、ディストリビューション(Ubuntu、Debian、RHEL、Fedora、Archなど)を使用することです。約10年間、すべての主要なディストリビューションは体系的にパッケージに署名しました。

ソフトウェアが独立して配布される場合、ソフトウェアの配布方法を決定するのはベンダーです。良いベンダーは、主要ディストリビューションと互換性のあるパッケージソースを提供し(すべてのLinuxに統一されたデプロイメカニズムはありません。ソフトウェアディストリビューションはディストリビューション間の主な差別化ポイントの1つです)、ベンダーのキーで署名されます。サードパーティのベンダーの署名機関として機能するLinuxディストリビューションはほとんどなく、CanonicalはUbuntuパートナーと一緒にこれを行いますが、サプライヤーはほとんど含まれていません。使うと思います。鍵を信頼するかどうかを判断するのはユーザーの役割です。

デフォルトの実行可能ファイル、データファイル、または複数のファイルで構成されるパッケージ内の単一スクリプトで構成されるパッケージをソートする特別なメカニズムはありません。また、パッケージ検証はスクリプトの実行と完全に直交する問題であるため、一般的なスクリプトソルバーには署名検証機能が組み込まれていません。

Windowsでは、ソースとしてファイルに注釈を付け、「ローカル」ではなく「ダウンロード」ソースとしてファイルを実行するには、ユーザーの確認が必要だと思います。 Linuxには実際には同様のメカニズムはありません。最も近いのは実行権限です。ダウンロードしたファイルには実行権限がないため、ユーザーはそれを明示的に有効にする必要があります(chmod +xコマンドラインまたはファイルマネージャのそれに対応するものから)。

おすすめ記事