Apt-key मैन पेज अपने ऐड कमांड के इस्तेमाल की सलाह क्यों देता है?


10

उपयुक्त कुंजी के लिए Ubuntu आदमी पेज के बारे में निम्नलिखित टिप्पणी भी शामिल है apt-key add:

नोट: इस कमांड का उपयोग करने के बजाय एक कीरिंग को सीधे /etc/apt/trusted.gpg.d/ निर्देशिका में वर्णनात्मक नाम के साथ रखा जाना चाहिए और फ़ाइल एक्सटेंशन के रूप में या तो "gpg" या "asc"।

मुझे नहीं लगता कि मैंने कभी यह सलाह कहीं और देखी है। अधिकांश परियोजनाएं जो अपने स्वयं के रिपॉजिटरी की मेजबानी करती हैं, अपनी कुंजी फ़ाइल डाउनलोड करने और इसके साथ जोड़ने के लिए कहती हैं apt-key

  1. इस सलाह के पीछे क्या प्रेरणा है?
  2. क्या यह उबंटू-ism है, या यह किसी APT- आधारित डिस्ट्रो पर लागू होता है?

संभावित डुप्लिकेट का क्या लाभ है
/etc/apt/sources.list.d पर /etc/apt/source.list

1
प्रति से वास्तविक डुप्लिकेट नहीं ; लेकिन अंतर्निहित प्रश्न ( .dनिर्देशिकाओं का उपयोग क्यों करते हैं?) वही है।
डोपघोटी

3
यह बिल्कुल भी डुप्लिकेट नहीं है, क्योंकि वास्तविक उत्तर वांछनीयता या अन्यथा निर्देशिकाओं के साथ नहीं करना है.d
JdeBP

जवाबों:


12

उन परियोजनाओं के पास पुराने निर्देश हैं। मुझे यह पता है क्योंकि मैं एक डेबियन रिपॉजिटरी प्रकाशित करता हूं और मैंने अपने निर्देशों को अपडेट किया जब मुझे डेबियन 9 एपीटी में परिवर्तनों के बारे में पता चला। वास्तव में, मैनुअल का यह हिस्सा अब पुराना है, क्योंकि यह गलत निर्देशिका है।

यह वास्तव में .dनिर्देशिकाओं के साथ और एपीटी में एक क्रॉस-साइट भेद्यता को रोकने के साथ करने के लिए नहीं है। पुरानी प्रणाली ने सुविधा के लिए अलग-अलग कीरिंग फ़ाइलों का उपयोग किया, लेकिन यह अब सुरक्षा के लिए एक आवश्यकता है; आपकी सुरक्षा।

यह भेद्यता है। दो रिपॉजिटरी प्रकाशकों पर विचार करें, ए और बी। डेबियन 8 की दुनिया में और इससे पहले, दोनों प्रकाशकों की चाबियाँ उपयोगकर्ताओं की मशीनों पर एकल वैश्विक कीरिंग में चली गईं। यदि प्रकाशक A किसी तरह प्रकाशक B की रिपॉजिटरी WWW साइट को दबाने की व्यवस्था कर सकता है, तो A, अपनी स्वयं की कुंजी के साथ हस्ताक्षरित , विध्वंसक संकुल प्रकाशित कर सकता है , जिसे APT खुशी से स्वीकार करेगा और स्थापित करेगा। आखिरकार, सभी रिपॉजिटरी के लिए विश्व स्तर पर एक विश्वसनीय कुंजी है।

शमन उपयोगकर्ताओं के लिए अलग-अलग प्रकाशकों के लिए अलग-अलग कुंजीयनों का उपयोग करने के लिए , और Signed-Byउनकी रिपॉजिटरी परिभाषाओं में अलग-अलग सेटिंग्स वाले उन स्प्रिंग्स को संदर्भित करने के लिए है । विशेष रूप से, प्रकाशक A की कुंजी का उपयोग केवल Signed-Byरिपॉजिटरी A के लिए किया जाता है और प्रकाशक B की कुंजी का उपयोग केवल रिपॉजिटरी B के लिए किया जाता Signed-Byहै। इस तरह, यदि प्रकाशक A के प्रकाशक B की रिपॉजिटरी को छोड़ देता है, APT तब से विध्वंसक पैकेज स्वीकार नहीं करेगा क्योंकि वे और रिपॉजिटरी पर प्रकाशक ए की कुंजी है, प्रकाशक बी द्वारा नहीं।

/etc/apt/trusted.gpg.dहाथ में तंत्र 2005 या दो दिनों में पुन, कि काफी अच्छा पर्याप्त नहीं है से एक पुराने गरीब आदमी की इस दिशा में कुछ हद तक त्रुटिपूर्ण आधे रास्ते घर है,। यह कीरिंग को एक अलग फ़ाइल में सेट करता है, ताकि इसे पैकेज किया जा सके और किसी भी अन्य फ़ाइल के रूप में पैकेज मैनेजर (या डाउनलोड fetch/ curl/ wget) के द्वारा एक स्टेप में स्थापित किया जा सके । (पैकेज मैनेजर पब्लिशर ए के विशेष इस-इस-माय-रिपॉजिटरी-कीरिंग पैकेज को प्रकाशक बी के ऊपर स्थापित करने से रोकता है , सामान्य तरीके से यह सामान्य रूप से पैकेजों के बीच फ़ाइल विरोध को संभालता है।) लेकिन यह अभी भी इसे कुंजी के सेट में जोड़ता है। जो सभी रिपॉजिटरी के लिए विश्व स्तर पर विश्वसनीय है। पूर्ण तंत्र जो अब मौजूद है, अलग-अलग का उपयोग करता है, न कि विश्व स्तर पर विश्वसनीय, कीरिंग फ़ाइलों में /usr/share/keyrings/

मेरे निर्देश पहले से ही हैं। 'S इस तंत्र में डेबियन की अपनी रिपॉजिटरी को स्थानांतरित करने के लिए चालें हैं, ताकि वे अब विश्व स्तर पर विश्वसनीय कुंजियों का उपयोग न करें। आप उन "सबसे परियोजनाओं" के साथ एक शब्द रखना चाह सकते हैं जो आपको मिला। आखिरकार, वे वर्तमान में आपको निर्देश दे रहे हैं कि आप अपनी मशीन पर APT को वैश्विक पहुंच उन्हें सौंप दें।

आगे की पढाई


IMO इस उत्तर में बहुत अधिक अपवित्र होना चाहिए! जाहिर तौर पर थर्ड पार्टी रेपो को जोड़ने से हमेशा कुछ सुरक्षा निहितार्थ निकलते हैं, लेकिन आइए कम से कम अहं से होने वाली बुरी बातों के लिए अवसर बनाए रखें ?!
जेरेमी डेविस

1

apt-key delलेता है keyid, जो कुंजी का एक अर्थहीन हैश है।

यह आसान है अगर आप एक सार्थक नाम का उपयोग करके चाबियाँ अनइंस्टॉल कर सकते हैं ... फ़ाइल नाम की तरह।

जैसा कि JdeBP कहता है, यह अच्छी तरह से विश्वसनीय प्रमुख फाइलों के साथ काम करता है जो डेबियन पैकेज के हिस्से के रूप में स्थापित होते हैं। मुझे लगता है कि जब आप मैन्युअल रूप से एक कुंजी फ़ाइल स्थापित करते हैं तो यह भी अच्छा हो सकता है।

नए तंत्र में जो वर्तमान में "प्रारंभिक परीक्षण" में है, इसे और सरल बनाया गया है। आपको केवल एक चीज़ को हटाना / अक्षम करना है: रिपॉजिटरी (source.list / source.list.d में)। यह स्वचालित रूप से उस रेपो के लिए कॉन्फ़िगर की गई कुंजी को अनुमति देना बंद कर देगा (जब तक कि इसे किसी अन्य रेपो द्वारा उपयोग नहीं किया जाता)।

मैं नहीं जानता कि सुरक्षा के लिए नए तंत्र का लाभ कैसे उठाया जाए। मैं सिर्फ यह मानता हूं कि अगर मैं उनके पैकेज का उपयोग करता हूं तो मुझे किसी पर भरोसा करने की जरूरत है। पैकेज इंस्टॉल प्रक्रिया अभी भी root:-) के रूप में चल रही है ।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.