एक पासवर्ड प्रशासन के लिए और दूसरा सिस्टम लॉगिन के लिए उपयोग करें


10

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


1
सिर्फ 2 खाते ही क्यों न बनाएं, एक सामान्य उपयोग के लिए और दूसरा सूडो के उपयोग की अनुमति।
लुइस अल्वाराडो

नहीं, मुझे केवल एक ही खाते में इसकी आवश्यकता है
वरुण श्रीधरन

आपको एक खाता होने के लिए इसकी आवश्यकता क्यों है? आप sudo एक्सेस के साथ एक अलग खाता बना सकते हैं लेकिन एक अलग होम फोल्डर के बिना फिर इस उपयोगकर्ता को सामान्य उपयोगकर्ता के समान समूह में जोड़ सकते हैं और इसे उसी होम फ़ोल्डर का उपयोग करने के लिए सेट कर सकते हैंsudo usermod -d /path/to/new/home
वॉरेन हिल

@SVarun मैंने आपके उत्तर को उन चरणों के साथ अद्यतन किया जो मेरे लिए काम करते हैं क्योंकि आपने अंतिम टिप्पणी की थी। क्या आप इसकी जांच कर सकते हैं और मुझे बता सकते हैं कि क्या यह आपके लिए काम करता है?
आरोन डी

जवाबों:


16

सूडो सेवा के लिए PAM (प्लगगेज ऑथेंटिकेशन मॉड्यूल) सेटिंग्स को ओवरराइड करके ऐसा करने का एक तरीका है। अपनी मशीन के लिए यह बहुत जोखिम में है - जब तक आप यह नहीं समझते कि कमांड क्या करता है, तब तक कॉपी और पेस्ट न करें और रूट टर्मिनल को हमेशा खुला रखें - टेस्ट टेस्ट! - इसे लॉग आउट करने से पहले, अगर आपको वापस जाना है और कुछ ठीक करना है।

मैं आपको पीएएम कैसे काम करता है इसके बारे में कुछ जानकारी पढ़ने की सलाह देता हूं ताकि आप जान सकें कि क्या टूटता है। मैं अधिकांश उपयोगकर्ताओं को एक अलग कोण (प्रशासन के लिए एक अलग उपयोगकर्ता खाता) से इस समस्या का सामना करने की सलाह देता हूं क्योंकि यदि आपने अपनी अनुमतियों को सही ढंग से सेट नहीं किया है, तो समाधान आपके पासवर्ड पर हैश टेबल हमलों के लिए अतिसंवेदनशील हो सकता है।

यदि आप आगे बढ़ना चाहते हैं, तो आपको एक नया PAM मॉड्यूल इंस्टॉल करना होगा। pam_pwdfile प्रमाणीकरण के लिए पुरानी शैली / etc / passwd प्रकार फ़ाइल का उपयोग करता है, जो विभिन्न सेवाओं के लिए अलग-अलग पासवर्ड का उपयोग करने के लिए बहुत अच्छा है। यह बिना खाता मान्यता प्रदान करता है - आप उन उपयोगकर्ताओं के लिए उपयोगकर्ता नाम / पासवर्ड जोड़े बना सकते हैं जो सिस्टम पर मौजूद नहीं हैं। चूंकि हम इसे sudo के लिए उपयोग कर रहे हैं, इससे कोई फर्क नहीं पड़ता, क्योंकि हम sudo को केवल सामान्य तरीके से खाते की जाँच करने देंगे।

sudo apt-get install libpam-pwdfile

मैं भी एक आसान htpasswd फ़ाइल संपादक को हथियाने की सलाह देता हूं। बेंजामिन श्वेइज़र ने अजगर में एक आसान संपादक बनाया है जो अच्छी तरह से काम करता है। इसे http://benjamin-schweizer.de/htpasswd_editor.html से पकड़ें और इसकी निर्भरता स्थापित करें:

sudo apt-get install python-newt

टूल का उपयोग करके एक htpasswd प्रारूप फ़ाइल बनाएं - sudo python htpasswd_editor sudo.passwdउसी उपयोगकर्ता नाम का उपयोग करके उपयोगकर्ता नाम और पासवर्ड डालें जिसे आप sudo के लिए उपयोग कर रहे हैं - प्रत्येक उपयोगकर्ता के लिए एक जो इसका उपयोग कर रहा होगा। इसे कहीं सुरक्षित रूप से कॉपी करें (जब यह परीक्षण मैं इसे /etc/sudo.passwd में डाल देता हूं) और इसे नियमित उपयोगकर्ताओं के लिए अपठनीय बना देता हूं: chmod 660 /etc/sudo.passwdजड़ के रूप में।

सुनिश्चित करें कि फ़ाइल जड़ और अन्य उपयोगकर्ताओं के लिए अपठनीय है। यह एक भेद्यता है क्योंकि फ़ाइल में एक हैशेड पासवर्ड होता है, और यदि यह अन्य उपयोगकर्ताओं द्वारा पढ़ने या लिखने योग्य है, तो यह आपकी सुरक्षा को बुरी तरह से तोड़ देता है। यह इस कारण से है कि मैं एक मशीन पर इस पद्धति की सिफारिश नहीं करता जिसे सुरक्षित रखा जाना चाहिए।

अंत में, /etc/pam.d/sudoफाइल को एडिट करें । अन्य @include ...लाइनों के ऊपर निम्न पंक्ति जोड़ें :

auth    required    pam_pwdfile.so pwdfile /etc/sudo.passwd

स्पष्ट रूप से अंतिम तर्क को आपकी निर्मित htpasswd फ़ाइल के पथ के साथ प्रतिस्थापित करना। अगली पंक्ति पर टिप्पणी #@include common-authकरें: यह सुनिश्चित करने के लिए कि यह नई प्रमाणीकरण पद्धति का उपयोग कर रहा है।

शब्द सावधानी - आपको /etc/pam.d/sudoरूट टर्मिनल से फ़ाइल को संपादित करने की आवश्यकता होगी । परीक्षण के बिना इसे बंद न करें! यदि आप करते हैं, तो आप वापस लॉग इन नहीं कर सकते हैं (यदि आपने कुछ तोड़ दिया है), और अपने सिस्टम को सुधारने के लिए रिकवरी डिस्क से बूट करना होगा। एक नया टर्मिनल खोलकर लॉग आउट करने से पहले परीक्षण करें और उपयोग करने का प्रयास करें sudo। आपको यह पता लगाना चाहिए कि यह अब आपके नियमित लॉगिन पासवर्ड के साथ काम नहीं करेगा, बल्कि आपको पासवर्ड का उपयोग करना होगा जब आपने पासवार्ड फ़ाइल जनरेट की थी। फ़ाइल को अपडेट करने के लिए, फिर से उपयोगी टूल का उपयोग करें।


मुझे उबंटू में दौड़ने की ज़रूरत है कोई और रास्ता है
वरुण श्रीधरन

मैंने उत्तर को अपडेट किया - मैंने इस पद्धति का परीक्षण किया है और यह वही करता है जो आप चाहते हैं, अगर मैंने आपके प्रश्न को सही ढंग से समझा है। कृपया इसे आजमाएँ।
आरोन डी

1
+50 इनाम। @AaronD आपके उत्तर ने मेरे प्रश्न को हल कर दिया । धन्यवाद!!!
रॉबी विंस्ज़

मुझे खुशी है कि आपने इसे उपयोगी पाया!
एरोन डी

1

मूल प्रश्न का अधिक सरल समाधान है और मेरे द्वारा चलाए जाने का तरीका है:

  • एक गैर-व्यवस्थापक उपयोगकर्ता बनाएँ
  • एक व्यवस्थापक उपयोगकर्ता बनाएँ

हमेशा गैर-व्यवस्थापक उपयोगकर्ता के रूप में लॉग इन करें और जब भी गैर-व्यवस्थापक उपयोगकर्ता को "व्यवस्थापक" कुछ भी करने की आवश्यकता हो, बस:

fab-user@fab-ux:/media/Data/Temp
$ su - fab-root 
Password: 
fab-root@fab-ux:~
$ sudo smartctl --all /dev/sdc

हां, यह वह नहीं है जो आप चाहते हैं लेकिन यह वही है जो आपको वास्तव में चाहिए

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