डिफ़ॉल्ट रूप से रास्पियन कॉन्फ़िगर किया गया है ताकि रूट खाते को पासवर्ड का उपयोग करके लॉग इन न किया जा सके। यह एक प्रविष्टि के साथ शुरू करके किया जाता है /etc/password
जिसमें शुरू होता है:
root:x:0:0:
खेतों को कॉलोनों द्वारा अलग किया जाता है और इसमें समझाया जाता है man 5 passwd
(नोट करें 5
, क्योंकि man passwd
आप कमांड के लिए मैन पेज देंगे passwd
; खंड 5 कॉन्फ़िगरेशन फ़ाइलों के लिए है, और इस मामले में उनका समान नाम है)। यहां पहला है नाम ( root
), तीसरा और चौथा संख्यात्मक यूआईडी और जीआईडी (दोनों 0
), और दूसरा पासवर्ड के लिए है। अधिकांश प्रविष्टियों के लिए यह होगा x
, वास्तविक पासवर्ड का संकेत दूसरी फ़ाइल में है /etc/shadow
।
ध्यान दें कि "वास्तविक पासवर्ड" वास्तव में कहीं भी संग्रहीत नहीं है। जो संग्रहीत shadow
है वह वास्तविक पासवर्ड का एक तरफ़ा हैश है। एक तरीका हैश एक ऐसी प्रक्रिया का परिणाम है जो हमेशा एक ही चीज का उत्पादन करेगा (आपके पासवर्ड को सत्यापित करने की अनुमति देता है), लेकिन अपरिवर्तनीय है। दूसरे शब्दों में, यदि किसी को अपने हाथ मिलते हैं, तो shadow
हैश से पासवर्ड को हटाने का कोई तरीका नहीं है। हालांकि, अगर वे संशोधित कर सकते हैं, तो shadow
जाहिर है कि वे निष्क्रिय कर सकते हैं या बदल सकते हैं जो पासवर्ड के रूप में काम करेगा। लेकिन वे कभी भी आपके पासवर्ड की खोज नहीं कर पाएंगे। यही कारण है कि यह भी root
नहीं कर सकता है (हालांकि मूल हमेशा मूल की आवश्यकता के बिना उन्हें किसी और चीज़ में बदल सकता है)।
रूट के मामले में, प्रविष्टि shadow
इस तरह से शुरू होती है, जैसा कि अधिकांश अन्य सिस्टम खातों के लिए होती है:
root:*:
*
इंगित करता है कि वर्तमान में कोई संभव पासवर्ड जो इस खाते के लिए इस्तेमाल किया जा सकता है।
रूट उपयोगकर्ता इसे बदल सकता है, हालांकि, passwd
एक नया पासवर्ड सेट करने के लिए कमांड का उपयोग कर , जो *
पहले उल्लिखित हैश के साथ बदल जाएगा (ये हमेशा शुरू होते हैं $n$
जहां n
कुछ यादृच्छिक मूल्य है जो हैश के लिए "नमक" के रूप में उपयोग किया जाता है, लेकिन आप डॉन 'यह समझने की जरूरत नहीं है)।
वैसे भी, जब मैं एक ताजा छवि से एक कार्ड स्थापित करता हूं, तो सबसे पहले मैं जाता हूं /etc/passwd
और x
अब शुरू होने वाली मूल प्रविष्टि को हटा देता हूं :
root::0:0
सूचना अब कोई दूसरा क्षेत्र नहीं है। इसका मतलब है कि कोई पासवर्ड नहीं है और आपको बस root
एक लॉगिन प्रॉम्प्ट पर टाइप करना है और आप लॉग इन हैं root
। फिर आप passwd
एक सेट करने के लिए उपयोग कर सकते हैं ।
तो, आपके पास यहां दो विकल्प हैं, लेकिन इन दोनों में आपको कार्ड को पीआई से बाहर निकालने और दूसरे विभाजन को दूसरे सिस्टम से एक्सेस करने की आवश्यकता है (जो ext4 विभाजन को पढ़ / लिख सकते हैं)।
पुनर्स्थापित करें sudoers
। यदि आपके पास एक संदर्भ छवि है, तो यह आसान है, आप इसे वापस उसी तरह से रख सकते हैं जैसे कि इसे बदलकर। अन्यथा यह अधिक जटिल विकल्प है क्योंकि आपको पता होना चाहिए कि आप क्या कर रहे हैं (और आपका ट्रैक रिकॉर्ड sudoers
इतना अच्छा नहीं है ...)।
संपादित करें /etc/passwd
और निकालें x
जैसा कि ऊपर वर्णित है, कार्ड को वापस डालें, लॉग इन करें root
, पासवर्ड बनाएं। बेशक, आपको अभी भी ठीक करने की आवश्यकता होगी sudoers
, लेकिन परीक्षण और त्रुटि को आसान बना दिया जाएगा क्योंकि यदि आप वास्तव में हैं root
, तो आप हमेशा इसे एक्सेस कर पाएंगे।
यदि आपके पास एक सिस्टम नहीं है जो ext4 फाइल सिस्टम तक पहुंच सकता है (एक डेबियन "लाइव सीडी" यहां एक अच्छा विकल्प है), तो आप फंस गए हैं। आपको कार्ड वापस करना होगा और फिर से शुरू करना होगा।