Windows Subsystem for Linux (WSL) เป็นฟีเจอร์ที่รัน Linux distributions ที่รองรับใน Windows ต่างจาก dual boot WSL รันใน Windows เหมือนแอปพลิเคชันทั่วไป บน WSL การลืมรหัสผ่านจัดการต่างจาก Linux ปกติ เพราะไม่มี bootloader ให้แก้ไข และไม่มี init system ให้ hijack เพื่อ launch root shell คู่มือนี้แนะนำขั้นตอนรีเซ็ตรหัสผ่านผู้ใช้ WSL
ใช้ Root Account
วิธีง่ายสำหรับ recover หรือ reset รหัสผ่านที่ลืมของ WSL user คือใช้ root account ใน WSL distributions ส่วนใหญ่ root account เปิดอยู่และไม่มีรหัสผ่านตั้งค่า
เนื่องจาก WSL ล็อกอินเข้า default account อัตโนมัติโดยไม่ prompt รหัสผ่าน เราสามารถเปลี่ยน config file และตั้ง default account เป็น root
เพื่อเปลี่ยน config ต้องใช้ WSL instance executable โดย default ไฟล์ executable อยู่ที่ C:\users\username\appdata\Local\Microsoft\WindowsApps\<distroname.exe>
แทนที่ username ด้วย username ของคุณ และ distribution name ด้วย WSL distro ของคุณ เช่น openSUSE 15.3 Leap executable จะเป็น: C:\Users\mte\AppData\Local\Microsoft\WindowsApps\openSUSE-Leap-15.3.exe
เพื่อเปลี่ยน config สำหรับ distro เปิด command prompt พิมพ์คำสั่งตามชื่อ distribution เช่น openSUSE ตั้ง default user เป็น root:
opensuse-leap-15.3 config --default-user root
คำสั่งจะเปลี่ยน default user เป็น root สำหรับ openSUSE WSL instance
สำหรับ distributions อื่นๆ คำสั่งคือ:
Ubuntu
ubuntu config --default-user root
Ubuntu 18.04
ubuntu18004 config --default-user root
Ubuntu 20.04
ubuntu2004 config --default-user root
Kali Linux
kali config --default-user root
Debian
debian config --default-user root
Arch Linux
arch config --default-user root
ขั้นสุดท้าย ล็อกอินเข้าสู่ distribution และเปลี่ยนรหัสผ่านสำหรับ target username เปิด distribution ผ่าน Start menu, command prompt หรือ Windows terminal
หลังเปิดแล้ว ควรล็อกอินเป็น root
สุดท้าย ใช้คำสั่ง passwd เปลี่ยนรหัสผ่าน เช่น เปลี่ยนรหัสสำหรับ username cap:
passwd cap
คืนค่า Default User
หลังรีเซ็ตรหัสผ่านสำหรับ user เฉพาะแล้ว ควรเปลี่ยน default user กลับจาก root account
ใช้คำสั่ง config แทนที่ username ด้วย account ที่ต้องการ เช่น:
opensuse-leap-15.3 config --default-user cap
จำไว้ว่าแทนที่ด้วยชื่อ distribution ของคุณ
สรุป
Tutorial นี้แสดงขั้นตอนรีเซ็ตรหัสผ่านผู้ใช้ WSL ขั้นตอนง่ายและปลอดภัยสำหรับ WSL instances แต่ควร secure ระบบของคุณ หากตัดสินใจเปลี่ยนมา Linux อย่างจริง ดู best Linux distros for Windows users หรือเรียนรู้วิธีย้ายจาก Windows ไป Linux แบบง่าย