क्या कोई sudo के पासवर्ड के रूप में keyfile का उपयोग कर सकता है?


11

प्रसंग

मुझे अपने लैपटॉप पर सार्वजनिक रूप से काम करना पसंद है, लेकिन मुझे पासवर्ड के बिना sudo का उपयोग करना भी पसंद है। अब मुझे जो भी पता है उसके आधार पर, मैं NOPASSWDअपनी sudoersफ़ाइल में विकल्प का उपयोग करूंगा , लेकिन निश्चित रूप से कोई भी सुडोल का उपयोग अपनी इच्छानुसार कर सकता है।

एक महत्वपूर्ण विचार जो मेरे दिमाग में आता है, वह यह है कि लॉकिंग प्रोग्राम मौजूद हैं। हालाँकि, मैं एक फ्लैश ड्राइव का उपयोग करना पसंद करूंगा (और इसे सिर्फ सूदो के लिए इस्तेमाल करना) क्योंकि (1) यह तेज है, (2) अपना पासवर्ड दर्ज करने से ज्यादा आसान है, और (3) मैं अपने कंटेंट को एक्सेस करने वाले लोगों से चिंतित नहीं हूं और न ही नापाक काम कर रहा हूं। चीजें: लैपटॉप अन्य लोगों के आसपास सार्वजनिक होगा, और मेरे लैपटॉप पर केवल बौद्धिक संपदा एक बहुत ही मूल कोणीय परियोजना है।

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

सवाल

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

तो यहाँ इस समस्या से व्युत्पन्न मेरे तीन प्रश्न हैं:

  1. क्या यह सूडो के साथ संभव है?
  2. यदि नहीं, तो क्या मैं ऐसा प्रोग्राम लिख पाऊंगा जो मुझे ऐसा करने की अनुमति दे?
  3. यदि हां, तो इस कार्यक्रम को लिखने के लिए कौन सी भाषा सबसे अच्छी हो सकती है?

(4. [शायद एक बाहरी सवाल] क्या यह पैकेज अलग हो सकता है या इसे सूद का कांटा बनने की आवश्यकता होगी)?

ध्यान दें

यदि यह प्रासंगिक है, तो मेरा सेटअप आर्क लिनक्स है, जिसमें कोई डेस्कटॉप वातावरण नहीं है। मेरा ज्यादातर काम urxvt / vim में वेब डेवलपमेंट है और इसे क्रोम के साथ जांचना है।


1
क्या pam_usb आपकी आवश्यकताओं को पूरा करता है ?
स्ट्रॉन्गबैड

@StrongBad ओह ... हाँ। ऐसा लगता है कि यह तुरंत सिर्फ सूडो नहीं करता है , और लॉगिन और सूडो को एक साथ करता है, लेकिन यह मेरे लिए कोई मायने नहीं रखता है। धन्यवाद!
गेज़ सोरेल

2
ठीक है, स्पष्ट करने के लिए, आप लगातार लॉग इन रहना चाहते हैं और बस लोगों को अपने खाते के तहत सूडो का उपयोग करने से रोकते हैं।
स्ट्रॉन्गबैड

@ स्ट्रोंगबॉड सही।
गेजे सोरेल

आप फ़ाइलों rootpwमें ध्वज का उपयोग करके /etc/sudoersऔर pam_usbरूट लॉगिन के लिए सेट करने के लिए कुछ कॉन्फ़िगर करने में सक्षम हो सकते हैं ।
रबरस्टैम्प

जवाबों:


3

मुझे यकीन नहीं है कि मुझे समझ में आया कि NOPASSWDविकल्प आपकी आवश्यकताओं को खुद से संतुष्ट क्यों नहीं करता है, लेकिन यदि आप फ्लैश ड्राइव की उपस्थिति की आवश्यकता चाहते हैं तो मैं कुछ ऐसा सोच सकता हूं जो लगभग वही हो सकता है जो आप देख रहे हैं।

यह वर्कअराउंड की अधिकता है, लेकिन आप एक स्थानीय प्रशासनिक उपयोगकर्ता बना सकते हैं, कह superuserसकते हैं और उस उपयोगकर्ता को पासवर्ड रहित sudoअधिकार दे सकते हैं , अर्थात अपनी /etc/sudoersफ़ाइल में निम्न पंक्ति जोड़ें :

superuser ALL=(ALL) NOPASSWD:ALL

आप तब पासवर्ड लॉगिन को अक्षम कर सकते हैं और उस उपयोगकर्ता के लिए कुंजी-केवल SSH प्रमाणीकरण को कॉन्फ़िगर कर सकते हैं, अर्थात दौड़ सकते हैं passwd -l superuserऔर अपने लिए निम्नलिखित श्लोक जोड़ सकते हैं /etc/ssh/sshd_config:

Match user superuser
PasswordAuthentication no

फिर इस उपयोगकर्ता के लिए SSH की-जोड़ी बनाएं। सार्वजनिक कुंजी को /home/superuser/.ssh/authorized_keysअपने फ्लैश ड्राइव पर निजी कुंजी जोड़ें और डालें। फिर जब आप superuserखाते का उपयोग करना चाहते हैं, तो अपनी फ्लैश-ड्राइव में प्लग करें और superuserअपनी निजी कुंजी का उपयोग करके खाते में जमा करें। और वॉयला! अब sudoआपके पास अपने उपयोगकर्ता के लिए पासवर्ड रहित है । बेशक, आपको अपने शेल सत्र से बाहर निकलने की आवश्यकता होगी जब आप कर रहे हों - फ्लैश ड्राइव को अनप्लग करना पर्याप्त नहीं होगा। हालांकि मुझे लगता है कि आप निजी कुंजी की जांच करने के लिए एक प्रीकांड हुक स्थापित कर सकते हैं और यदि यह मौजूद नहीं है (या यदि यह अमान्य है) तो अपने आप बाहर निकलें।


एक आसान जवाब के रूप में आप यह क्यों करना चाहते हो सकता है स्पष्ट करने के लिए। इस सर्वर im के लिए वापस पाने की कोशिश कर रहा है, मैं केवल रूट कुंजी, कोई रूट ssh का उपयोग नहीं है, im ec2-user में बंद है, जो sudo पूछ रहा है एक pw मैं नहीं है। मैं सर्वर के लिए अपनी रूट कुंजी scp'd है, तो मैं आदर्श अब sudo acces हासिल करने के लिए इस कुंजी का उपयोग करना चाहते हैं, तो मैं चीजों को ठीक कर सकते हैं।
ब्रायन थॉमस
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.