ไม่สามารถเปลี่ยนรหัสผ่านรูทใน Windows 10 WSL


12

ฉันลองทั้งสองคำสั่งแล้ว

sudo passwd

และ

sudo -u root /bin/bash

แต่ทันทีที่ฉันป้อนรหัสผ่านใหม่สองครั้งก็แจ้งว่าได้รับการปรับปรุงรหัสผ่าน คุณปิดเชลล์และเปิดอินสแตนซ์ใหม่มันยังคงทำงานกับรหัสผ่านรูทเก่า

กรุณาช่วย.


sudo -u root ที่ดีอาจเป็นความพยายามอย่างยิ่งยวดที่จะทำให้สิ่งต่าง ๆ ทำงานได้ แต่ sudo passwd ควรเปลี่ยนรหัสผ่าน และอันเก่าไม่ควรทำเมื่อฉันเปิด WSL เชลล์ใหม่และลอง 'sudo apt-get install'
Dragonborn

คำตอบ:


23
  1. ใน wsl sudo passwdจะเปลี่ยนรหัสผ่านของผู้ใช้รูท WSL
  2. ใน wsl passwdจะเปลี่ยนรหัสผ่านของผู้ใช้ WSL ปัจจุบัน
  3. ใน wsl passwd [user]จะเปลี่ยนรหัสผ่านของผู้ใช้ WSL
  4. ใน wsl sudoโดยทั่วไปจะถามรหัสผ่านของผู้ใช้ WSL ปัจจุบัน
  5. ใน windows cmd.exe คุณสามารถเปลี่ยนผู้ใช้ที่คุณจะเข้าสู่ระบบเมื่อเปิด WSL - หากผู้ใช้นั้นrootคุณจะสามารถใช้ตัวเลือก 3
    • ผู้สร้างอัปเดตและรุ่นก่อนหน้า: lxrun /setdefaultuser [user]
    • ตกผู้สร้างปรับปรุงและในภายหลัง: ubuntu.exe config --default-user [user]

คุณอาจต้องการเปลี่ยนรหัสผ่านของผู้ใช้sudo-capable ไม่ใช่ผู้ใช้รูท

คุณอาจไม่ต้องการเปลี่ยนรหัสผ่านผู้ใช้รูท (เพราะใน Ubuntu ผู้ใช้รูทโดยทั่วไปไม่ควรมีรหัสผ่านsudoควรใช้แทน) คุณอาจไม่ต้องการให้ผู้ใช้เริ่มต้นเป็น root แม้ในขณะที่ทำงานในรูปแบบ windows แต่ก็ยังคงเป็นวิธีที่ไม่ดี

เอกสารทางการของ Microsoft เกี่ยวกับบัญชีผู้ใช้และการอนุญาตมีอยู่ที่นี่: https://msdn.microsoft.com/en-us/commandline/wsl/user_support


ใช่ใช้ไม่ใช่ผู้ใช้รูทเป็นผู้ใช้เริ่มต้น สิ่งนี้ควรใช้งานได้! ขอบคุณ
Dragonborn

lxrun /setdefaultuserไม่ทำงานอีกต่อไป :(
nowox

lxrun /setdefaultuser [user]ยังคงทำงานใน Windows 10 รุ่น 1709 (Fall Creators Update)
hrvoj3e

หมายเหตุ: ubuntu config --default-user [user]คุณอาจต้องรีสตาร์ทเครื่องคอมพิวเตอร์ของคุณหลังจากเปลี่ยนผู้ใช้เริ่มต้นด้วย ฉันสับสนจริงๆว่าทำไมมันไม่ทำงาน เมื่อฉันรีสตาร์ทคอมพิวเตอร์ผู้ใช้เริ่มต้นก็เปลี่ยนไป
Alexander

ฉันต้องปิด Ubuntu และรีสตาร์ทเพื่อubuntu config --default-user [user]ให้ทำงานได้
Stefan Lasiewski

11

สันนิษฐานว่าคุณกำลังใช้ Ubuntu ในคำอธิบายนี้

  • หากคุณลืมรหัสผ่านบน WSL เพียงเปิดพรอมต์คำสั่งจาก windows โดยพิมพ์ cmd ในการค้นหา
  • จากนั้นพิมพ์ubuntu config --default-user rootเพื่อตั้งค่ารูทเป็นผู้ใช้เริ่มต้นสำหรับ Linux Bash Shell
  • จากนั้นเปิดเชลล์ Linux Bash ซึ่งจะเข้าสู่ระบบคุณในฐานะรูทโดยไม่ต้องขอรหัสผ่าน
  • จากนั้นใช้passwd usernameเพื่อรีเซ็ตรหัสผ่านของผู้ใช้ใด ๆ
  • ใช้ubuntu config --default-user usernameเพื่อรีเซ็ตกลับสู่บัญชีผู้ใช้ Linux ปกติของคุณ

/ bin / bash /: config: ไม่พบคำสั่ง
systemovich

1
@systemovich - คุณต้องเรียกใช้ubuntu config ...คำสั่งจากพรอมต์คำสั่ง windows (cmd.exe) หากต้องการเปิด bash shell จากนั้นเพียงแค่พิมพ์wslและกด Enter หากต้องการกลับไปที่พรอมต์คำสั่ง windows จากพรอมต์ WSL ให้พิมพ์exitและกด Enter
StingyJack

1
มีวิธีที่ง่ายกว่า 1. เปิด cmd.exe 2. พิมพ์wsl -u root 3. พิมพ์passwd usernameและเปลี่ยนรหัสผ่าน 4. พิมพ์exit 5. พิมพ์wsl 6. พิมพ์sudo echo h'เพื่อยืนยันการใช้รหัสผ่านใหม่
bicole

6

มีวิธีที่ง่ายกว่า

  1. เปิด cmd.exe
  2. ชนิด wsl -u root
  3. พิมพ์passwd usernameและเปลี่ยนรหัสผ่าน
  4. ชนิด exit
  5. ชนิด wsl
  6. พิมพ์sudo echo hiเพื่อยืนยันการใช้รหัสผ่านใหม่

มันสมบูรณ์แบบ!
Flynn

วิธีนี้ง่ายกว่าและคำตอบที่ชัดเจนและตรงไปตรงมาทำงานได้อย่างสมบูรณ์แบบ
Mickael V.
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.