การแก้ไขเมื่อลืม root password ในลินุกซ์

รหัสผ่านของ root หรือ root password เป็นสิ่งสำคัญอย่างยิ่งในลินุกซ์ เพราะการแก้ไขทุกอย่างในลินุกซ์ต้องเข้าเป็น root ก่อนถึงจะทำได้ การลืมรหัสผ่านจึงทำให้เราไม่สามารถแก้ไขอะไรได้เลยในลินุกซ์

บทความนี้แนะนำวิธีหนึ่งที่สามารถแก้ไขปัญหาเมื่อลืมรหัสผ่านของ root ได้ แต่ต้องมีการรีบู๊ตเครื่อง ซึ่งทำให้เวลาแก้ไขระบบไม่สามารถใช้งานได้ โดยตัวอย่างในบทความนี้จะทดสอบบน Fedora 9

วิธีที่แนะนำคือการเข้าสู่โหมด single user ซึ่งจะเป็นโหมดที่ใช้ในการแก้ไขปัญหาหรือบำรุงรักษาเครื่อง ตัวอย่างอื่นๆ ที่ใช้โหมด single user ก่อนคือการสำรองข้อมูลแบบเต็มรูปแบบ (full backup)

คำแนะนำ ถ้าระบบยังใช้งานได้อยู่ตามปกติ ให้ทำหลังจากเลิกการใช้งานแล้ว

การเข้าสู่โหมด single user

วิธีการเข้านั้นทำได้โดยต้องรีบู๊ตเครื่อง แต่ถ้าเราลืมรหัสผ่านของ root เราก็ไม่สามารถใช้คำสั่ง shutdown เพื่อทำการรีบู๊ตได้ วิธีหนึ่งที่ทำได้คือที่หน้าจอคอนโซลของเครื่องที่เราต้องการแก้ไข แล้วกดปุ่ม [Ctrl-Alt-Delete] โดยดีฟอลต์แล้ว การกดปุ่มสามปุ่มพร้อมกันนี้เป็นการสั่งให้รีบู๊ตเครื่อง แต่ถ้าเราไปปิดคุณสมบัตินี้ออกไป [ปรับแต่งเครื่องหลังจากติดตั้ง Fedora 9 – แก้ไขคอนโซล] จะเหลืออยู่วิธีเดียวคือต้องกดปุ่มปิดเครื่อง แล้วเปิดขึ้นมาใหม่

ขณะที่บู๊ตเครื่องเมื่อมีข้อความ “Press any key to enter the menu” ให้กดปุ่มอะไรก็ได้เพื่อเข้าสู่หน้าจอเมนู GRUB ซึ่งเป็นโปรแกรม boot loader โดยดีฟอลต์ของลินุกซ์

ตัวอย่างหน้าจอเมนูของ GRUB
Fedora 9 GRUB Menu

ในหน้าจอเมนู GRUB กดปุ่ม ‘e‘ เพื่อเข้าสู่เมนูย่อยเพื่อการแก้ไขค่าคอนฟิกสำหรับการบู๊ตเครื่อง

ตัวอย่างหน้าจอเมนูย่อยของ GRUB เพื่อการแก้ไขค่าคอนฟิก
Fedora 9 GRUB Sub Menu

ในหน้าจอเมนูย่อยจะมีอยู่สามบรรทัด ให้เลือกบรรทัดที่ขึ้นต้นด้วยคำว่า kernel แล้วกดปุ่ม ‘e‘ อีกครั้ง จะเข้าสู่ shell ของ GRUB ซึ่งจะอนุญาตให้เราแก้ไขค่าคอนฟิกได้ ให้พิมพ์คำว่า single ต่อท้ายบรรทัดลงไปแล้วกดปุ่ม [ Enter ] หน้าจอจะกลับมาที่เมนูย่อยอีกครั้ง กดปุ่ม ‘b‘ เพื่อการบู๊ตเครื่องด้วยค่าคอนฟิกใหม่

ตัวอย่างการเพิ่มคำว่า single ต่อท้าย
Fedora 9 Append Single to GRUB

เครื่องก็จะบู๊ตไปตามปกติ แต่จะรันโปรแกรมเฉพาะเพื่อให้เครื่องทำงานได้เท่านั้น เช่น mount disk ขึ้นมา และเมื่อบู๊ตเสร็จจะขึ้น root shell prompt ให้เราสามารถพิมพ์คำสั่งต่างๆ ได้เลย โดยไม่จำเป็นต้อง login แต่อย่างใด

ตัวอย่าง root shell prompt ในโหมด single user
Fedora 9 Single User Shell Prompt

เราสามารถใช้คำสั่ง passwd เพื่อแก้ไขรหัสผ่านของ root ได้เลย

ตัวอย่างการใช้คำสั่ง passwd เพื่อเปลี่ยนรหัสผ่านของ root

[root@server /]# passwd root
Changing password for user root.
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.

หลังจากแก้ไขรหัสผ่านเรียบร้อย วิธีการกลับสู่โหมดการทำงานของเครื่องปกติ ให้พิมพ์คำสั่ง exit หรือกดปุ่ม [Ctrl-D] เพื่อออกสู่โหมด single user เครื่องจะรันโปรแกรมต่างๆ ขึ้นมา สุดท้ายจะขึ้น login เหมือนเดิม

[root@server /]# exit
Bringing up loopback interface:        [ OK ]
Bringing up interface eth0:            [ OK ]
Starting system logger:                [ OK ]
...

Leave a Reply

Your email address will not be published.