विंडोज में उबंटू / लिनक्स बैश में पासवर्ड रीसेट करें


191

मैंने विंडोज 10 (माइक्रोसॉफ्ट से उपलब्ध) पर लिनक्स बैश स्थापित किया है, लेकिन मैं अपना पासवर्ड भूल गया हूं।

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

मैं अपना पासवर्ड कैसे रीसेट कर सकता हूं?


4
आपने कौन सा पासवर्ड बिल्कुल खो दिया है? आपका विंडोज अकाउंट पासवर्ड?
डेविड फ़ॉस्टर 16

एक उदाहरण "बूटिंग विकल्प" ग्रब के माध्यम से "सिंगल" के लिए कर्नेल cmdline सेट करके एकल उपयोगकर्ता मोड में बूट होगा। उन जिज्ञासुओं के लिए।
केविनफ

1
WSL2 (विंडोज़ 10 v1903) में इसका परिवर्तन हुआ। Cmd या पावरशेल से, एक ubuntu शेल को रूट के रूप में शुरू करें: wsl -user root फिर: passwd <अपने उपयोगकर्ता नाम>। एग्जिट wsl अगली बार ubuntu शेल खुलता है: sudo ls नया रूट पासवर्ड स्वीकार करेगा।
jdh

जवाबों:


323
  • bashअपने लिनक्स उपयोगकर्ता नाम को चलाएं और नोट करें (यह आपके विंडोज उपयोगकर्ता नाम से मेल नहीं खाता), देखें कि मैं अपना उपयोगकर्ता नाम कैसे खोज सकता हूं?
  • अगर यह चल रहा है (या अगला कमांड विफल हो जाएगा) पर Ubuntu पर बंद करें।
  • विंडोज व्यवस्थापक कमांड प्रॉम्प्ट में ( Super+ X, A) जड़ करने के लिए डिफ़ॉल्ट उपयोगकर्ता को बदलने:

    ubuntu config --default-user root
    

यदि आप WSL में Ubuntu 18.04 का उपयोग कर रहे हैं, तो कमांड बदल गया है ubuntu1804, इसलिए

ubuntu1804 config --default-user root
  • अब विंडोज पर उबंटू पर बैश आपको पासवर्ड पूछे बिना रूट के रूप में लॉग करता है
  • passwdउपयोगकर्ता पासवर्ड (उपयोगकर्ता जिसका पासवर्ड आप रीसेट करना चाहते हैं) को बदलने के लिए बैश में कमांड का उपयोग करें :

    passwd your_username
    
  • Windows कमांड प्रॉम्प्ट में अपने सामान्य उपयोगकर्ता पर वापस डिफ़ॉल्ट उपयोगकर्ता बदलें

    ubuntu config --default-user  your_username
    

यदि आप WSL में Ubuntu 18.04 का उपयोग कर रहे हैं, तो कमांड बदल गया है ubuntu1804, इसलिए

ubuntu1804 config --default-user your_username

अपना पासवर्ड पुनर्प्राप्त करने के लिए पूर्ण वीडियो देखें Windows सबसिस्टम लिनक्स https://youtu.be/dTR232yvDCE

नोट 1: वीडियो में प्रयुक्त सबसिस्टम उबंटू नहीं है, लेकिन काली लिनक्स है। इसलिए कमांड में अंतर।

नोट 2: यदि आप अभी भी मूल Ubuntu सबसिस्टम का उपयोग कर रहे हैं जो वर्षगांठ अद्यतन के साथ आया है, तो कमांड lxrun का उपयोग करें । Microsoft स्टोर के माध्यम से वितरित सबसिस्टम संस्करण में अपग्रेड करने की सिफारिश की गई है।)


7
lxrunWSL के बीटा संस्करण के लिए है। यदि आप ऐप स्टोर से ubuntu स्थापित करते हैं, तो कमांड है ubuntu config --default-user root
एंडी तजहोनो

2
हाँ, यह एक वैकल्पिक तरीका है, लेकिन मुझे त्रुटि मिली Failed to set default user to: root:।
किर्बी

2
@Kirby: विंडोज कमांड प्रॉम्प्ट में कमांड चलाने से पहले आपको WSL शेल से लॉग आउट करना होगा।
dr01

1
मैं प्राप्त करता रहा Error: 0x80070057 The parameter is incorrect, इसलिए मैंने @ dr01 के क्यू का अनुसरण किया और पावरशेल ubuntuमें भाग गया, फिर logout, फिर डिफ़ॉल्ट उपयोगकर्ता को फिर से कॉन्फ़िगर किया। सफलता Success
skia.heliou

2
यदि आपने WSL पर ubuntu 18.04 स्थापित किया है, तो ubuntu1804इसके बजाय कमांड है ubuntu। आशा है कि यह कुछ सिर-खरोंच को बचाता है।
इंडोमिनस

53

ऊपर वाले ने काम नहीं किया। डिफ़ॉल्ट उपयोगकर्ता बदलने के बाद भी, बैश हमेशा मेरे उपयोगकर्ता के साथ खुलता है।

इसलिए इसके बजाय मैंने यह किया, जो काम किया:

  1. इस फ़ाइल को संपादित करें (नोटपैड या नोटपैड ++ में):

    %localappdata%\lxss\rootfs\etc\shadow
    
  2. उदाहरण के लिए, अपना सामान्य उपयोगकर्ता खोजें:

    user1:$jsdjksadgfhsdf.saflsdf.sadf.safd:17299:0:99999:7:::
    

    और बस हैश भाग (भाग के नीचे) को हटा दें

    $jsdjksadgfhsdf.saflsdf.sadf.safd
    

    आपको एक अलग हैश दिखाई देगा - मुझे आशा है कि :) यह ऐसा दिखना चाहिए:

    user1::17299:0:99999:7:::
    
  3. फ़ाइल सहेजें

  4. रूट विशेषाधिकार के साथ फिर से बैश शुरू करें और अपना पासवर्ड सेट करें

     sudo bash
     passwd <your-user-name> 
    

    अब आप पिछले एक को दर्ज किए बिना एक नया पासवर्ड सेट कर सकते हैं।


9
यह काम करता है, लेकिन आधिकारिक निर्देशिका अब% लोकलडैपटाटा% \ Package \ CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc \ LocalState \ rootfs \ etc \ छाया
Yauro Destro

11
यह अब तक का सबसे अच्छा जवाब है । अपनी shadowफ़ाइल का पथ खोजने के लिए आप इस PowerShell abomination का उपयोग कर सकते हैं: Get-ChildItem -Path C:\ -Filter shadow -Recurse -ErrorAction SilentlyContinue -Forceजो find /mnt/c/ -name shadowनिष्पादन और परिणामों दोनों में एक सामान्य क्रिया संस्करण है । फ़ाइल को संपादित करने के लिए एलिवेटेड विशेषाधिकारों की आवश्यकता नहीं है, लेकिन यह सुनिश्चित करें कि ऐसा करने से पहले आपकी बैश विंडो बंद हो।
रस

1
यह विजेता है! जब पहला जवाब नहीं आया तो बढ़िया काम किया।
किम

1
स्वीकृत उत्तर मुझे मिला 'त्रुटि: 0x80070057 पैरामीटर गलत है।' (और नहीं, कंसोल लीगेसी मोड में नहीं था)। यह मूल रूप से काम किया;
क्रिस्टी डियाकोन्सकु

1
इस उत्तर ने ठीक ऊपर उल्लिखित के रूप में काम किया। पहला जवाब मेरे काम नहीं आया।
शनीमेस्टर

27

यदि आपके पास WSL का स्टोर-इंस्टॉल किया गया वितरण है, तो इसे संपादित करें

TMU के जवाब देने के लिए जोड़ने के लिए, यहाँ एक PowerShell स्क्रिप्ट (है सार ) है कि इस प्रक्रिया को स्वचालित (वर्तमान डिफ़ॉल्ट उपयोगकर्ता नाम का पता लगाने के लिए स्वचालित रूप से शामिल हैं)

# Resets the password for the default LXSS / WSL bash user
$lxssUsername = (Get-ItemProperty HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Lxss).DefaultUsername
lxrun /setdefaultuser root
bash -c "passwd $lxssUsername"
lxrun /setdefaultuser $lxssUsername

ई राशन प्राप्त करना: 0 x 8 0 0 7 0 0 0 पावरशेल में
नितिन सावंत

1

2019-09-05 तक एक प्रक्रिया है जो मौजूदा उत्तरों की तुलना में बहुत सरल है (जो कि ज्यादातर इतने पुराने हैं कि वे बिल्कुल भी काम नहीं करते हैं)।

विंडोज एडमिन कमांड प्रॉम्प्ट ( Super+ ) में X, Aआप उबंटू रूट खाते में लॉग इन कर सकते हैं

wsl --user root

फिर पासवर्ड बदलें जैसा कि आप आमतौर पर करते हैं

passwd

जो अंतःक्रियात्मक रूप से आपसे एक नया पासवर्ड (दो बार) मांगता है।


0

उन लोगों के लिए, जिन्होंने रूट पासवर्ड खो दिया, मेरे लिए क्या काम किया, विंडोज स्टोर के माध्यम से उबंटू 18.04 एलटीएस को अपडेट कर रहा था। ध्यान दें, विंडोज़ स्टोर में दो अलग-अलग विकल्प हैं:

  1. उबंटू
  2. Ubuntu 18.04 LTS (इसे चुनें )

अपने वर्तमान संस्करण की जांच करने के लिए, किसी भी उपयोगकर्ता के रूप में निम्नलिखित चलाएँ:

कमांड प्रॉम्प्ट पर, दर्ज करें:

cat /etc/*release

आपको आउटपुट में एक पंक्ति देखनी चाहिए जो कहती है:

DISTRIB_RELEASE=16.01

यदि आप इसे देखते हैं, तो निश्चित रूप से 18.04 तक अपडेट करें , और यह आपको नए यूनिक्स क्रेडेंशियल्स बनाने के लिए प्रेरित करेगा।

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