BizMaC bizmac.com

Reset mật khẩu root trên CentOS 7

Hướng dẫn Linux Server · cập nhật 26/07/2026

Để đặt lại mật khẩu root trên CentOS 7, bạn khởi động lại máy, sửa dòng boot trong GRUB thành chế độ single, chạy passwd root rồi khởi động lại. Mất khoảng 5 phút và cần vào được màn hình console của máy.

Cách này dùng khi mất mật khẩu root và không còn tài khoản nào khác có quyền sudo. CentOS 7 làm khác CentOS 6, nên hướng dẫn cũ cho bản 6 không áp dụng được.

  1. Khởi động lại máy, dừng ở màn hình GRUB.
  2. Sửa dòng boot để vào chế độ single.
  3. Đổi mật khẩu root và đánh dấu cập nhật SELinux.
  4. Khởi động lại và đăng nhập bằng mật khẩu mới.
Cần truy cập console vật lý hoặc KVM IP. Không làm được qua SSH vì phải can thiệp lúc máy đang khởi động. CentOS 7 hết hỗ trợ từ 30/06/2024, bài giữ cho máy chủ cũ còn đang chạy.

Vì sao phải vào chế độ single

Chế độ single khởi động hệ thống với quyền root mà không hỏi mật khẩu, chỉ nạp phần nhân tối thiểu và không mở dịch vụ mạng. Đó là lối vào duy nhất khi đã mất mật khẩu. CentOS 7 dùng systemd nên phải trỏ tiến trình khởi đầu sang shell bằng tham số init=/sysroot/bin/sh, khác cách làm trên CentOS 6.

Chuẩn bị trước khi khởi động lại máy

Việc này can thiệp lúc máy đang khởi động nên không làm qua SSH được. Bạn cần vào được console vật lý hoặc KVM IP, và máy sẽ ngừng phục vụ khoảng 5 tới 10 phút. Chuẩn bị sẵn mật khẩu mới trước khi bắt đầu, vì lúc ở chế độ single sẽ không có trình quản lý mật khẩu nào để tra.

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

Bốn bước dưới đây làm trực tiếp trên console, không cần cài thêm công cụ nào. Bạn sẽ dừng máy ở màn hình GRUB, sửa một tham số khởi động để vào shell với quyền root, đổi mật khẩu, rồi khởi động lại. Toàn bộ quá trình gõ tay trên bàn phím vật lý hoặc cửa sổ KVM.

1. Dừng ở màn hình GRUB

Khởi động lại máy. Khi hiện màn hình chọn kernel, bấm phím mũi tên để dừng bộ đếm.

Màn hình GRUB menu của CentOS 7 với danh sách kernel
Màn hình GRUB, dừng bộ đếm trước khi nó tự khởi động

2. Sửa dòng boot

Bấm phím e để mở trình sửa dòng lệnh khởi động.

Trình sửa dòng lệnh khởi động của GRUB sau khi bấm phím e
Bấm e để sửa tham số khởi động

Tìm dòng bắt đầu bằng linux16, đổi ro thành rw init=/sysroot/bin/sh.

Dòng linux16 sau khi đổi ro thành rw init=/sysroot/bin/sh
Đổi ro thành rw init=/sysroot/bin/sh

Bấm Ctrl + X để khởi động với tham số vừa sửa.

Dấu nhắc lệnh của chế độ single sau khi bấm Ctrl X
Vào được chế độ single, dấu nhắc đổi thành sh-4.2#

3. Đổi mật khẩu root

Chuyển thư mục gốc sang phân vùng hệ thống thật:

chroot /sysroot

Đặt mật khẩu mới:

passwd root

Đánh dấu để SELinux gán lại nhãn khi khởi động lần sau. Bỏ bước này thì máy có thể không đăng nhập được:

touch /.autorelabel

4. Khởi động lại

exit
reboot

Lần khởi động này lâu hơn bình thường vì SELinux đang gán lại nhãn cho toàn bộ hệ thống. Đừng ngắt điện giữa chừng.

Xử lý các lỗi thường gặp

Ba tình huống dưới đây chiếm phần lớn các ca làm không thành công ở lần đầu. Mỗi tình huống có dấu hiệu riêng nên nhìn màn hình là biết rơi vào ca nào, không phải làm lại từ đầu để dò.

Không dừng được ở màn hình GRUB. Bộ đếm quá ngắn. Bấm liên tục phím mũi tên xuống ngay khi máy vừa qua màn hình BIOS.

Lệnh passwd báo Authentication token manipulation error. Chưa chạy chroot /sysroot, nên đang đổi mật khẩu trên hệ thống tạm chứ không phải hệ thống thật. Chạy lại lệnh chroot rồi thử lại.

Khởi động xong vẫn không đăng nhập được. Thiếu bước touch /.autorelabel nên SELinux chặn. Làm lại toàn bộ quy trình và nhớ chạy lệnh đó trước khi thoát.

Việc nên làm sau khi đổi xong

Đăng nhập lại bằng mật khẩu mới rồi tạo thêm một tài khoản thường có quyền sudo. Lần sau quên mật khẩu root, bạn đăng nhập bằng tài khoản này và đổi lại ngay, không phải khởi động lại máy và dừng dịch vụ.

useradd quantri
passwd quantri
usermod -aG wheel quantri

CentOS 7 đã hết hỗ trợ, không còn bản vá bảo mật. Nếu máy chủ còn chạy dịch vụ thật, nên tính đường chuyển sang AlmaLinux 9 hoặc Ubuntu 22.04.

Hướng dẫn này có giúp được Anh/Chị không?

Bài khác trong Linux Server

Xem cả 23 bài
Cài SQL Server 2025 trên Ubuntu 24.04 chạy cùng Plesk Cài SQL Server 2025 lên máy Ubuntu 24.04 đang chạy Plesk, chọn edition đúng giấy phép, tạo tài khoản riêng thay cho sa và mở kết nối từ xa mà không phơi cổng 1433. 11 phút đọc 106 lượt xem Cập nhật 16/09/2026 Cài tường lửa UFW cơ bản cho VPS Ubuntu Cách cài UFW trên Ubuntu, cho phép cổng SSH trước khi bật, mở cổng web 80 và 443, rồi kích hoạt tường lửa mà không mất kết nối cho người mới quản trị VPS. 5 phút đọc 136 lượt xem Cập nhật 29/08/2026 Đổi port SSH mặc định để bảo mật VPS Cách đổi cổng SSH từ 22 sang cổng khác trong file sshd_config, mở cổng mới trên tường lửa trước khi khởi động lại dịch vụ, và kiểm tra kết nối cho người mới. 5 phút đọc 90 lượt xem Cập nhật 28/08/2026 Cài Fail2Ban chống dò mật khẩu SSH Cách cài Fail2Ban trên Ubuntu và CentOS, tạo file cấu hình jail.local, đặt số lần sai và thời gian khoá IP, rồi kiểm tra danh sách IP đang bị chặn. 5 phút đọc 77 lượt xem Cập nhật 28/08/2026 Phân quyền file thư mục bằng chmod và chown Cách đọc dãy quyền rwx, dùng chmod đổi quyền theo số và chown đổi chủ sở hữu file trên Linux, kèm bảng số quyền hay dùng và cảnh báo chmod 777. 5 phút đọc 51 lượt xem Cập nhật 27/08/2026 15 lệnh Linux cơ bản cho người mới quản trị VPS Bảng tra 15 lệnh Linux thiết yếu để đi lại trong thư mục, xem và sửa file, kiểm tra tài nguyên và quản lý dịch vụ trên VPS, kèm ví dụ cho người mới. 5 phút đọc 59 lượt xem Cập nhật 26/08/2026