はい、いいえ。
Linux ソフトウェアの配布は、Windows のソフトウェア配布とは多少異なります。 (組み込みではない) Linux の世界では、ソフトウェアを配布する主な方法は、ディストリビューション (Ubuntu、Debian、RHEL、Fedora、Arch など) を介することです。すべての主要なディストリビューションは、約 10 年間、パッケージに体系的に署名しています。
ソフトウェアが個別に配布される場合、ソフトウェアの出荷方法はベンダーが決定します。優れたベンダーは、主要なディストリビューションと互換性があり (すべての Linux に統一された配布メカニズムはありません。ソフトウェアの配布は、ディストリビューション間の主な差別化ポイントの 1 つです)、ベンダーのキーで署名されたパッケージ ソースを提供します。 Linux ディストリビューションがサードパーティ ベンダーの署名機関として機能することはめったにありません (Canonical は Ubuntu パートナーとこれを行いますが、対象となるベンダーはほとんどありません)。すべての主要なディストリビューションは、TLS 公開キー インフラストラクチャではなく、PGP 信頼の Web を使用していると思います。キーを信頼するかどうかはユーザー次第です。
ネイティブ実行可能ファイル、データ ファイル、または複数のファイルで構成されるソフトウェア パッケージから、単一のスクリプトで構成されるソフトウェア パッケージを選別する特別なメカニズムはありません。また、ソフトウェア パッケージの検証は、スクリプトの実行とは完全に無関係な問題であるため、一般的なスクリプト インタープリターに組み込まれている署名検証もありません。
Windows はファイルにその起源を注釈し、起源が「ローカル」ではなく「ダウンロード」されたファイルを実行するには、ユーザーの確認が必要だと思います。 Linux には、実際には同様のメカニズムがありません。最も近いのは実行許可です。ダウンロードしたファイルには実行許可がありません。ユーザーは明示的に有効にする必要があります (chmod +x
コマンド ラインで、またはファイル マネージャーで同等の操作を行います)。
ユーザーが sudo
経由でスクリプトを実行する機能をロックしている場合 次に、 digest
を使用できます 機能。
sudoers
でスクリプト/実行可能ファイルのハッシュを指定できます これは sudo
によって検証されます 実行される前に。したがって、署名と同じではありませんが、sudoers も変更されずに、スクリプトが少なくとも変更されていないという基本的な保証が得られます。
コマンド名の前に Digest_Spec が付いている場合、指定された SHA-2 ダイジェストを使用して検証できる場合にのみ、コマンドは正常に一致します。これは、sudo を呼び出すユーザーがコマンドまたはその親ディレクトリへの書き込みアクセス権を持っている場合に役立ちます。次のダイジェスト形式がサポートされています:sha224、sha256、sha384、および sha512。文字列は、16 進数または base64 形式で指定できます (base64 の方がコンパクトです)。 openssl、shasum、sha224sum、sha256sum、sha384sum、sha512sum など、SHA-2 ダイジェストを 16 進形式で生成できるユーティリティがいくつかあります。
http://www.sudo.ws/man/1.8.13/sudoers.man.html
Linux には、デジタル署名に基づいて bash スクリプトの実行を制限する機能はありません。
バイナリ実行可能ファイルの認証に関するいくつかの作業があります。詳細については、https://lwn.net/Articles/488906/ を参照してください。