मैं / etc / passwd में अंतिम पंक्ति बदलता हूं और मैं sudo का उपयोग नहीं कर सकता


15

यहाँ मैंने क्या किया है:

  1. अंतिम पंक्ति में एक उपयोगकर्ता नाम बदलें: tinyकोabc

    • tiny@tty7:~$ sudo vim /etc/passwd
    • इसे बदलें:
      tiny:x:1000:1000:tiny,,,:/home/tiny:/bin/bash
      इसे:
      abc:x:1000:1000:tiny,,,:/home/tiny:/bin/bash
  2. tiny@tty7:~$ sudo vim /etc/shadow

    • यह दिखाता है: [sudo] passwork for abc:

    • मैंने अपना पासवर्ड नहीं बदला, लेकिन यह रूट लॉगिन नहीं कर सकता है!

    • मैं टाइप Ctrl+ Alt+ F1करने के लिए tty1लेकिन न तो छोटे या एबीसी अपना पासवर्ड के साथ प्रवेश नहीं कर सकते

और मैं ls ~ -laयहाँ देखने की कोशिश करता हूँ , यह इस तरह दिखाता है:

drwxr-xr-x 28 abc tiny 4096 Apr 6 03:04 .

मैं रूट को कैसे लॉगिन कर सकता हूं? और क्यों प्रांप्ट में उपयोगकर्ता का नाम tiny@tty7अभी भी छोटा है जबकि sudo में यह abc का पासवर्ड दिखाता है?

जवाबों:


18

आपके संपादन के बाद आपके द्वारा अटकाने का कारण यह है कि /etc/shadowफ़ाइल में पासवर्ड के लिए एक प्रविष्टि थी, tinyलेकिन कोई प्रविष्टि नहीं थी abc, जबकि /etc/passwdफ़ाइल में प्रविष्टि थी abcया नहीं tiny। जब sudoदेखा गया, तो यह आपके द्वारा abcचलाए जा रहे प्रक्रिया के UID के आधार पर सही तरीके से पहचाना गया (पासवर्ड फ़ाइल के अनुसार) , लेकिन जब आप तुलना करते हैं कि आपने एन्क्रिप्टेड (हैशेड) पासवर्ड के साथ अपने पासवर्ड के रूप में क्या दर्ज किया है, तो यह तुलना कर /etc/shadowसकता है के लिए एक प्रविष्टि नहीं मिल रही है abc, इसलिए उसे विफलता की सूचना देनी थी।

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


22

आपको अपनी पासवार्ड फ़ाइल को मैन्युअल रूप से संपादित नहीं करना चाहिए क्योंकि आप चीजों को गड़बड़ कर देंगे।

अपना उपयोगकर्ता नाम बदलने का उचित तरीका है:

usermod -l newUsername oldUsername

फिर होम फोल्डर बदलें:

usermod -d /home/newHomeDir -m newUsername

पासवर्ड बदलने के लिए आपको उपयोग करना चाहिए:

sudo passwd yourusername

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


1
धन्यवाद ~ मुझे लगा कि सबसे मुश्किल रूट के साथ लॉगिन करना है तो मैं रिबूट करता हूं, रिवाइज मोड का चयन करता हूं, रूट करता हूं और फिर अपनी पासवार्ड फाइल वापस करता हूं ~ यह काम करता है ~
स्मोर्को


-3

हाथ से अपना उपयोगकर्ता नाम (लेकिन uid नहीं) बदलने की प्रक्रिया:

  1. जब आपके सिर की जांच की जाती है, तो वह दो कदम आगे बढ़ता है।
  2. नए उपयोगकर्ता नाम के साथ उपयोगकर्ता लाइन को डुप्लिकेट करते हुए छाया फ़ाइल संपादित करें।
  3. नए उपयोगकर्ता नाम की अनुमति देने वाले समूहों, sudoers को संपादित करें, पुराना रखें
  4. प्रतीकात्मक रूप से होम डाइरेक्टरी को नए नाम से लिंक करें
  5. उपयोगकर्ता नाम और घर निर्देशिका बदलते पासवार्ड फ़ाइल को संपादित करें
  6. छाया, sudoers, समूहों को संपादित करें पुरानी प्रविष्टियों को हटाने के लिए जिन्हें हमने चरण तीन में रखा था
  7. उपनाम और पुराने उपयोगकर्ता नाम के अन्य संदर्भों को संपादित करें।
  8. लॉगआउट, पाठ कंसोल पर स्विच करें (यदि उपयोगकर्ता प्रोग्राम होम निर्देशिका में चल रहे हैं तो अगला चरण काम नहीं करेगा, जिसमें विंडो मैनेजर भी शामिल है)
  9. अपने घर निर्देशिका के ऊपर एक निर्देशिका के लिए सीडी।
  10. प्रतीकात्मक लिंक निकालें, और घर निर्देशिका का नाम बदलें।
  11. लॉगआउट करें और सामान्य रूप से लॉगिन करें।

दूसरों के उपयोगकर्ता नाम बदलने के लिए चीजें बहुत सरल हैं, हालांकि अभी भी सरल नहीं हैं।

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