Hướng dẫn khôi phục mật khẩu root trên CentOS 7

Trong bài viết này chúng ta sẽ tìm hiểu việc “Khôi phục mật khẩu root trên
CentOS 7/RHEL 7” có sự khác biệt nhiều so với các phiên bản 5 và 6 trước đó. Đối
với CentOS/RHEL 5/6 thì hoạt động khôi phục mật khẩu root khác và đơn giản hơn
khi chỉ cần boot vào chế độ “single mode” để thực hiện thay đổi mật khẩu..

Khôi phục mật khẩu root trên CentOS 7/RHEL 7

Lưu ý: Chỉ có thể áp dụng khôi phục mật khẩu user nếu GRUB2 boot loader không setup mật khẩu khoá.

Bước 1: khởi động lại hệ thống, chỉnh sửa ‘grub2’

– Khởi động lại hệ thống và tinh chỉnh chế độ GRUB2 ở màn hình boot GRUB2.

– Bấm nút ESC để màn hình dừng lại, sau đó ấn nút ‘e’ để thực hiện chỉnh sửa.

Bước 2: chỉnh thông số entry cần thiết

– Tìm đến dòng entry cấu hình “linux16” hoặc “linuxefi” đối với hệ thống UEFI.

– Xoá 2 thông số “rhgb quiet” để kích hoạt log message hệ thống khi thực hiện
đổi mật khẩu root.

– Thêm vào cuối dòng “linux16..” thông số sau.

rd.break

– Ấn Ctrl+X để lưu và tự động boot vào môi trường initramfs.

Bước 3: remount filesystem và chuyển chế độ chroot

– Hệ thống filesystem hiện tại đang ở chế độ “read only” được mount ở thư mục
/sysroot/, để thực hiện khôi phục mật khẩu root thì ta cần thêm quyền ghi (write)
trên filesystem. Ta sẽ tiến hành remount lại filesystem /sysroot/ với quyền đọc-
ghi (read-write).

– Kiểm tra lại xem filesystem đã được remount quyền đọc-ghi hay chưa.

switch_root:/# mount -o remount, rw /sysroot
switch_root:/# mount | grep -w “/sysroot“

– Lúc này filesystem đã được mount và ta sẽ chuyển đổi sang môi trường
filesystem (prompt: sh-4.2#).

switch_root:/# chroot /sysroot

– Tiến hành reset password user root.

sh-4.2# passwd root

Bước 4: relabel SELINUX

– Chạy lệnh sau để update lại các thông số cấu hình SELINUX, nếu bạn có sử dụng SELINUX. Nguyên nhân khi ta update file /etc/passwd chứa mật khẩu thì các thông số SELINUX security contex sẽ khác nên cần update lại.

sh-4.2# touch /.autorelabel

Bước 5: remount và reboot
– Remount filesystem “/“ ở chế độ read-only.

sh-4.2# mount -o remount, ro /

– Thoát môi trường chroot và Khởi động lại hệ thống.

sh-4.2# exit
switch_root:/# exec /sbin/reboot

Bạn sẽ thấy hệ thống reboot và chậm hơn bình thường, do hệ thống đang tiến
hành hoạt động SELINUX relabel. Sau khi boot vào hệ thống prompt console
thành công thì bạn có thể đăng nhập bằng mật khẩu mới.