Computer >> Hướng Dẫn Máy Tính >  >> Hệ Thống >> Linux

Cách reset mật khẩu root trên Linux

Linux cho phép user thường và superuser truy cập dịch vụ qua xác thực mật khẩu. User thường quên pass → superuser reset từ terminal. Nhưng superuser (root) quên pass thì sao? Phải khôi phục trước khi boot vào màn hình login. Điều này cho phép user có truy cập vật lý chiếm quyền server. Bài viết 2 phương pháp khôi phục mật khẩu root mất.

Lưu ý: Cách reset root pass tương tự hầu hết distro. Demo trên Ubuntu. Dùng "root password" cho đơn giản, nhưng hiểu là superuser password.

1. Reset từ Grub Menu

  1. Restart máy (giả sử quên pass root).
  2. Grub xuất hiện → nhanh chọn "Advanced options for GNU/Linux" (mũi tên xuống + Enter).
  3. Nhấn e chỉnh sửa. Tìm dòng bắt đầu "linux". Thay ro → rw. Thêm init=/bin/bash cuối dòng.
  4. Nhấn F10 → màn hình prompt.
  5. Mount root fs read-write:
    mount -n -o remount,rw /
  6. Reset pass:
    passwd root
  7. Xong → thoát reboot:
    exec /sbin/init

2. Reset dùng Live CD/USB

  1. Tải Ubuntu mới nhất, tạo Live USB bootable. Boot từ USB thay vì ổ cứng.
  2. Chọn "Try Ubuntu" → Live desktop.
  3. Mở terminal, thành root:
    sudo su
  4. Tìm partition ổ cứng:
    fdisk -l

    Thường là /dev/sda1, có thể khác tùy partition.

  5. Mount partition cần recover:
    mkdir /mnt/recover && mount /dev/sda1 /mnt/recover
  6. Chroot vào /mnt/recover (giả vờ đang trên filesystem thật):
    chroot /mnt/recover
  7. Reset pass:
    passwd root
  8. Thoát chroot:
    exit
  9. Unmount:
    umount /mnt/recover && exit
  10. Tháo Live USB, reboot vào hệ thống.

Đổi pass root dễ dàng sau khi vượt qua rào cản bước thêm. Lưu ý: Ai có truy cập vật lý đều dùng được cách này. Muốn cẩn trọng hơn → mã hóa ổ cứng (full disk encryption) để không boot/mount dễ dàng.

Câu hỏi thường gặp

1. Full disk encryption ảnh hưởng đổi root pass như thế nào?

Mã hóa làm phức tạp sửa chữa Linux, nhưng KHÔNG ảnh hưởng đổi root pass. Vẫn làm từ grub như trên miễn là truy cập được ổ. Khác biệt: người ngoài không thể lẻn vào làm tương tự.

2. Root và superuser password khác nhau?

Thường root = superuser. Đổi root pass = đổi superuser pass. Ubuntu: superuser = UID 0. Nếu config user khác UID 0 → root và superuser pass khác nhau.

3. Tạo ngày hết hạn cho mật khẩu được không?

Được! Flag -x set tuổi thọ pass. VD: passwd -x 30 root → pass root hết hạn sau 30 ngày, buộc đổi mới.

Flag -w set ngày cảnh báo trước hạn. VD: passwd -w 7 root → cảnh báo 7 ngày trước hạn (đã set bằng -x).

Muốn đào sâu Linux? Xem hướng dẫn setup Bluetooth trên Linux. Cũng có danh sách tool tạo distro Linux riêng!