それらのプロジェクトは古い指示を持っています。私がこれを知っているのは、Debianリポジトリを公開していて、Debian 9 APTの変更について知ったときに説明を更新したからです。実際、マニュアルのこの部分は、間違ったディレクトリであるため、現在は古くなっています。
これは実際には.d
ディレクトリに関するものではなく、APTのクロスサイト脆弱性の防止に関するものです。古いシステムでは、便宜上、別々のキーリングファイルを使用していましたが、これは現在、セキュリティのために必要です。あなたのセキュリティ。
これは脆弱性です。2つのリポジトリパブリッシャーAとBについて考えてみます。Debian8以前の世界では、両方のパブリッシャーのキーは、ユーザーのマシンの単一のグローバルキーリングに入っていました。パブリッシャーAがパブリッシャーBのリポジトリWWWサイトに取って代わるように手配できた場合、AはA自身のキーで署名された破壊的なパッケージを公開でき、APTは喜んで受け入れてインストールします。結局のところ、Aのキーは、すべてのリポジトリに対してグローバルに信頼されています。
緩和策は、ユーザーが個々の発行元に個別のキーリングを使用し、それらのキーリングをSigned-By
リポジトリ定義の個別の設定で参照することです。具体的には、パブリッシャーAのキーはSigned-By
リポジトリA のでのみ使用され、パブリッシャーBのキーはSigned-By
リポジトリB のでのみ使用されます。このように、パブリッシャーAがパブリッシャーBのリポジトリに取って代わった場合、APTはそれらから破壊的なパッケージを受け入れません。リポジトリは、発行元Bではなく発行元Aの鍵によって署名されています。
/etc/apt/trusted.gpg.d
手元のメカニズムはかなり良い十分ではありません2005年かそこらで背中から、この方の古い貧乏人のやや不備途中の家です。別のファイルにキーリングを設定するので、パッケージマネージャーでパッケージ化し、他のファイルと同じように、パッケージマネージャーによって1ステップでインストール(またはfetch
/ curl
/でダウンロードwget
)できます。(パッケージマネージャーは、パブリッシャーAの特別なthis-is-my-repository-keyringパッケージがパブリッシャーBに上書きインストールされるのを防ぎます。通常の方法では、パッケージ間のファイルの競合を処理します。)ただし、キーのセットに追加します。これは、すべてのリポジトリでグローバルに信頼されています。現在存在する完全なメカニズムは、グローバルに信頼されていない個別のキーリングファイルを使用し/usr/share/keyrings/
ます。
私の指示はすでにそこにあります。Debian Debianのリポジトリをこのメカニズムに移動する動きがあり、グローバルに信頼された鍵も使用されなくなりました。あなたが見つけたそれらの「ほとんどのプロジェクト」で言葉を持ちたいかもしれません。結局のところ、彼らは現在、あなたのマシン上のAPTへのグローバルアクセスを彼らに引き渡すようにあなたに指示しています。
参考文献