Quei progetti hanno istruzioni obsolete. Lo so perché pubblico un repository Debian e ho aggiornato le mie istruzioni quando ho scoperto le modifiche in APT Debian 9. In effetti, questa parte del manuale non è più aggiornata, poiché è la directory errata.
Questo non ha davvero a che fare con le .d
directory e altro con la prevenzione di una vulnerabilità tra siti in APT. Il vecchio sistema utilizzava file di portachiavi separati per comodità, ma questo è ora una necessità per la sicurezza; la tua sicurezza.
Questa è la vulnerabilità. Considera due editori di repository, A e B. Nel mondo di Debian 8 e precedenti, le chiavi di entrambi gli editori andavano nel singolo portachiavi globale sui computer degli utenti. Se l'editore A potesse in qualche modo provvedere a soppiantare il sito WWW del repository dell'editore B, allora A potrebbe pubblicare pacchetti sovversivi, firmati con la propria chiave A , che APT accetterebbe e installerebbe felicemente. Dopo tutto, la chiave di A è attendibile a livello globale per tutti i repository.
La mitigazione è che gli utenti utilizzino portachiavi separati per singoli editori e facciano riferimento a quei portachiavi con Signed-By
impostazioni individuali nelle definizioni dei loro repository. In particolare, la chiave dell'editore A viene utilizzata solo nel Signed-By
repository A e la chiave dell'editore B viene utilizzata solo nel Signed-By
repository B. In questo modo, se l'editore A soppianta il repository dell'editore B, APT non accetterà i pacchetti sovversivi dal momento che essi e il il repository è firmato dalla chiave dell'editore A non dall'editore B.
Il /etc/apt/trusted.gpg.d
meccanismo a portata di mano è una casa a metà strada in qualche modo difettosa di un povero anziano verso questo, a partire dal 2005 o giù di lì, che non è abbastanza buona. Imposta il keyring in un file separato, in modo che possa essere impacchettato e installato in un solo passaggio da un gestore di pacchetti (o scaricato con fetch
/ curl
/ wget
) come qualsiasi altro file. (Il gestore di pacchetti gestisce la prevenzione dell'installazione del pacchetto di portachiavi del publisher A, questo è il mio repository, sull'editore B, nel modo normale in cui gestisce i conflitti di file tra i pacchetti in generale.) Ma lo aggiunge ancora all'insieme di chiavi che è considerato globalmente affidabile per tutti i repository. Il meccanismo completo esistente ora utilizza file keyring separati, non globalmente attendibili /usr/share/keyrings/
.
Le mie istruzioni sono già lì. ☺ Ci sono passi avanti per spostare i repository di Debian su questo meccanismo, in modo che non utilizzino più nemmeno chiavi affidabili a livello globale. Potresti voler parlare con la "maggior parte dei progetti" che hai trovato. Dopotutto, ti stanno attualmente insegnando a consegnare loro l'accesso globale ad APT sul tuo computer.
Ulteriori letture