हर VPN खाते को अपना NetworkManager लॉन्चर दें
एक ही गेटवे पर दो खातों के लिए दो नामित प्रोफ़ाइल चाहिए, दोबारा लिखा गया उपयोगकर्ता नाम नहीं। लॉन्चर को UUID पर इंगित करें और एजेंट को रहस्य इकट्ठा करने दें।
दो VPN खाते, एक गेटवे, और एक डेस्कटॉप आइकन जो अंतिम बार उपयोग करने वाले के रूप में जुड़ता है। सामान्य कारण वह लॉन्चर है जो जुड़ने से ठीक पहले साझा प्रोफ़ाइल का उपयोगकर्ता नाम दोबारा लिख देता है, या वह जो ऐसा प्रदर्शन नाम खोजता है जो दोनों प्रोफ़ाइल संयोग से साझा करते हैं। NetworkManager पहले से प्रोफ़ाइल को UUID से अलग पहचानता है, इसलिए आइकन उनमें से ठीक एक का नाम ले सकता है और पहचान को अछूता छोड़ सकता है। जो उसे नहीं उठाना चाहिए वह पासवर्ड है।
लॉन्चर एक संकेतक है, प्रमाण-पत्रों का भंडार नहीं।
UUID खोजें और पहचान की पुष्टि करें
सहेजे गए कनेक्शनों की सूची बनाएँ और UUID, कनेक्शन ID और वह उपयोगकर्ता नाम पढ़ें जो हर प्रोफ़ाइल रखता है। कुछ भी बनाने से पहले पुष्टि करें कि कौन-सी प्रोफ़ाइल किस खाते की है, क्योंकि प्रदर्शन नाम एक लेबल है, कुंजी नहीं। अगर दोनों खातों को अलग गेटवे या अलग प्रोफ़ाइल चाहिए, तो वह अलग कॉन्फ़िगरेशन कार्य है।
लॉन्चर में UUID का उपयोग करें। प्रदर्शन नाम से खोज तब तक काम करती है जब तक कोई प्रोफ़ाइल का नाम न बदले, और फिर आइकन गलत खाते के रूप में या बिलकुल किसी चीज़ के रूप में नहीं जुड़ता।
डेस्कटॉप प्रविष्टि लिखें
डेस्कटॉप प्रविष्टि के लिए एक प्रकार, एक नाम और एक निष्पादन योग्य पंक्ति चाहिए। कमांड को वह UUID ऊपर लाना चाहिए और NetworkManager को रहस्य माँगने देना चाहिए, nmcli --ask connection up uuid ... इसी के लिए है। Terminal=true रखें ताकि रहस्य की ज़रूरत होने पर संकेत दिखे। प्लेसहोल्डर को उस UUID से बदलें जो आपने वास्तव में देखा, और केवल संकेत छिपाने के लिए शेल रैपर न जोड़ें।
Desktop Entry विनिर्देश Exec को प्रोग्राम और उसके तर्क के रूप में परिभाषित करता है। यह शेल स्क्रिप्ट नहीं है, और इसे एक की ज़रूरत नहीं है।
एजेंट को रहस्य रखने दें
रहस्य प्रति-उपयोगकर्ता एजेंट, कीरिंग या इंटरैक्टिव संकेत के होते हैं। Exec में पासवर्ड प्रक्रिया सूची में, डेस्कटॉप फ़ाइल में और गुण संवाद के किसी भी स्क्रीनशॉट में दिखता है। अगर प्रोफ़ाइल को रहस्य चाहिए, तो समर्थित संकेत को वह इकट्ठा करने दें और एजेंट को उस उपयोगकर्ता के लिए याद रखने दें।
--ask डिज़ाइन से इंटरैक्टिव है। यह बिना निगरानी वाले स्वचालन का नुस्खा नहीं है, और यह गारंटी नहीं देता कि हर प्रमाणीकरण चुनौती या प्लगइन स्क्रिप्ट की जा सके।
sudo की ओर न बढ़ें
कनेक्शन बदलने या सक्रिय करने का अधिकार NetworkManager की अनुमति है जो उसकी नीति से दी जाती है, Unix विशेषाधिकार नहीं। sudo के साथ लॉन्चर चलाने से प्रक्रिया को दूसरे उपयोगकर्ता का कीरिंग नहीं मिलता, और यह गेटवे के अस्वीकरण को ठीक नहीं करता। साझा मशीन पर समीक्षा करें कि कौन-से स्थानीय खाते कौन-सी प्रोफ़ाइल देखते हैं और हर रहस्य किसका है; अलग आइकन अपने आप अलगाव नहीं बनाते।
एक ही गेटवे के दो सक्रिय प्रोफ़ाइल मार्गों के लिए भी होड़ कर सकते हैं या समकालिकता के नियम का उल्लंघन कर सकते हैं। यह नीति का प्रश्न है, लॉन्चर की खराबी नहीं।
पूरी क्रिया सत्यापित करें
लॉन्चर को एक बार सक्रिय करें और तीन चीज़ों की पुष्टि करें: कौन-सा UUID ऊपर आया, गेटवे ने कौन-सी पहचान देखी, और क्या रहस्य का संकेत वहाँ दिखा जहाँ आपने अपेक्षा की थी। अगर कनेक्शन विफल हो, तो पहला त्रुटि संदेश रखें। शॉर्टकट को आत्मनिर्भर दिखाने के लिए कमांड लाइन में पासवर्ड जोड़ना उस त्रुटि को छिपाता है और बदतर समस्या पैदा करता है।
UUID और खातों का मिलान टीम के नोट्स में लिखें। अगला व्यक्ति जो प्रोफ़ाइल बदलेगा उसे जानना चाहिए कि कौन-सा आइकन उस पर निर्भर है, और वही नोट नाम बदलने को रुकावट बनने से रोकता है।