लॉग इन करते समय मैं सामान्य उपयोग के लिए उपयोगकर्ता को एक पासवर्ड कैसे दे सकता हूं , और सिस्टम प्रशासन और sudo एक्सेस के लिए दूसरा पासवर्ड ? मैं चाहता हूं कि एक उपयोगकर्ता के पास दो पासवर्ड हों।
sudo usermod -d /path/to/new/home
लॉग इन करते समय मैं सामान्य उपयोग के लिए उपयोगकर्ता को एक पासवर्ड कैसे दे सकता हूं , और सिस्टम प्रशासन और sudo एक्सेस के लिए दूसरा पासवर्ड ? मैं चाहता हूं कि एक उपयोगकर्ता के पास दो पासवर्ड हों।
sudo usermod -d /path/to/new/home
जवाबों:
सूडो सेवा के लिए 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
। आपको यह पता लगाना चाहिए कि यह अब आपके नियमित लॉगिन पासवर्ड के साथ काम नहीं करेगा, बल्कि आपको पासवर्ड का उपयोग करना होगा जब आपने पासवार्ड फ़ाइल जनरेट की थी। फ़ाइल को अपडेट करने के लिए, फिर से उपयोगी टूल का उपयोग करें।
मूल प्रश्न का अधिक सरल समाधान है और मेरे द्वारा चलाए जाने का तरीका है:
हमेशा गैर-व्यवस्थापक उपयोगकर्ता के रूप में लॉग इन करें और जब भी गैर-व्यवस्थापक उपयोगकर्ता को "व्यवस्थापक" कुछ भी करने की आवश्यकता हो, बस:
fab-user@fab-ux:/media/Data/Temp
$ su - fab-root
Password:
fab-root@fab-ux:~
$ sudo smartctl --all /dev/sdc
हां, यह वह नहीं है जो आप चाहते हैं लेकिन यह वही है जो आपको वास्तव में चाहिए