Lệnh reset password trong linux

Lệnh reset password trong linux

Trong bài viết này, Cloud365 sẽ hướng dẫn các bạn reset password trên Ubuntu các phiên bản: 14.04, 16.04, 18.04, 20.04.

Việc thực hiện hoàn toàn tương tự nhau với các phiên bản Ubuntu kể trên.

Thứ tự các bước thực hiện

Bước 1: Truy cập màn hình Console, tiến hành restart VM (tùy vào hệ thống sử dụng có những cách restart khác nhau)

Bước 2: Truy cập hệ thống Grub boot menu. Thường thì hệ thống sẽ tự động hiển thị Grub boot menu. Nếu không thấy, hãy thử khởi động lại VM và nhấn phím Shift vài lần.

Lệnh reset password trong linux
Giao diện Grub boot menu

Bước 3: Trên Grub boot menu chọn Kernel đang chạy và bấm phím E để edit

Chọn đúng Kernel đang sử dụng và nhấn E để chỉnh sửa

Bước 4: Di chuyển đến dòng linux /boot/vmlinuz..

Lưu ý: Giao diện và thông số giữa các phiên bản Ubuntu đề ra ở trên có thể không giống nhau hoàn toàn. Nhưng hoàn toàn tương tự nhau.

Bước 5: Sửa phần tham số ro ... thành rw init=/bin/bash

Sửa tham số ro ... thành rw init=/bin/bash

Bước 6: Nhấn tổ hợp phím Ctrl + X hoặc nhấn phím F10 để vào Single Mode. Sau đó thực hiện các lệnh sau:

# Đổi mật khẩu
passwd root
 
# Đồng bộ dữ liệu
sync
 
# Khởi động lại hệ thống
reboot -f
Thực hiện đổi mật khẩu

Bước 7: Đăng nhập bằng password mới và kiểm tra

Lệnh reset password trong linux
Đăng nhập bằng mật khẩu mới đổi

Chúc các bạn thành công!

Cách reset password CentOS 7 khác với CentOS 6, các bước reset như sau

1. Khởi động lại máy chủ đến màn hình boot grub menu

Lệnh reset password trong linux

2. Chọn e để thay đổi chế độ boot

Lệnh reset password trong linux

3. Tìm đế dòng boot title có chữ ro và thay ro thành rw init=/sysroot/bin/sh

Lệnh reset password trong linux

4. Ấn Control+x để vào chế độ single mode.

Lệnh reset password trong linux

5. Truy cập hệ thống bằng lệnh.

chroot /sysroot

6. Reset password root

passwd root

7. Update thông tin selinux

touch /.autorelabel

8. Thoát chroot

 exit

9. Reboot lại hệ thống

reboot

Chúc các bạn thành công.

Bài viết này hướng dẫn khôi phục mật khẩu (reset password) root trên hệ điều hành Linux giúp các bạn có thể tự học Linux dễ dàng.

Trong hệ điều hành Linux, superuser và user thông thường được phép truy cập dịch vụ thông qua xác thực mật khẩu. Khi user thông thường không thể nhớ mật khẩu thì chúng ta có thể dùng superuser đặt lại mật khẩu cho user thông thường. Tuy nhiên, nếu superuser (root) mất mật khẩu thì sao?

Chúng ta có thể khôi phục mật khẩu bị mất của một superuser (root). Tuy nhiên, phương pháp khôi phục mật khẩu bị mất này cho phép bất kỳ người dùng nào có quyền truy cập vào máy chủ Linux của bạn họ có thể chuyển quyền sở hữu hoàn toàn.

Trong bài viết này, chúng ta sẽ tìm hiểu cách khôi phục mật khẩu root bị mất trên các bảng phân phối của hệ điều hành Linux:

  • Nhóm CentOS 7/RHEL/Fedora
  • Nhóm Arch Linux
  • Nhóm Debian/Ubuntu/LinuxMint

Lưu ý: Các cách bên dưới chỉ hướng dẫn ở trường hợp Grub không có đặt password.

1. Nhóm CentOS/RHEL/Fedora

1.1 Nhóm CentOS

1.1.1. Bản phân phối CentOS 5

Bước 1: Vào menu Grub ⬇️:

Khi chúng ta khởi động CentOS5.1 thì chúng ta bấm phím bất kì để vào menu grub. Xuất hiện như hình bên dưới:

Lệnh reset password trong linux

Tại đây chúng ta thực hiện bấm e để vào edit kernel....

Bước 2: Vào menu edit kernel ⬇️:

Lệnh reset password trong linux

Tại đây chúng ta tiếp tục bấm e xuất hiện như hình bên dưới:

Lệnh reset password trong linux

Bước 3: Tại dòng linux... chúng ta thêm vào cuối dòng 1 hoặc s hoặc single như bên dưới ⬇️:

Thêm thông số single mode là 1:

Lệnh reset password trong linux

Thêm thông số single mode là s:

Lệnh reset password trong linux

Thêm thông số single mode là single:

Lệnh reset password trong linux

Nhấn Enter để save cấu hình tạm thời quay về màng hình grub, như bên dưới:

Lệnh reset password trong linux

Nhấn phím b để khởi động các tùy chọn tạm thời này để cho phép bạn khôi phục tài khoản root của bạn.

Bây giờ bạn sẽ khởi động lên shell root và bạn có thể sử dụng passwd để đặt mật khẩu mới cho ueser root. Bạn sẽ được yêu cầu nhập mật khẩu hai lần.

Sau khi nhập pass xong chúng ta sẽ khởi động lại hệ thống. Chúng ta chạy lệnh sau:

reboot

Các thao tác được thực hiện như bên dưới:

Lệnh reset password trong linux

Sau khi reset password cho superuser (root) thành công bạn có thể đăng nhập và sử dụng hệ thống với mật khẩu mới mà bạn đã tạo. Đây là cách bạn thay đổi mật khẩu root trên bản phân phối CentOS 5.

1.1.2. Bản phân phối CentOS 6

Bước 1: Vào menu Grub ⬇️:

Khi chúng ta khởi động CentOS5.1 thì chúng ta bấm phím bất kì để vào menu grub. Xuất hiện như hình bên dưới:

Lệnh reset password trong linux

Tại đây chúng ta thực hiện bấm e để vào edit kernel....

Bước 2: Vào menu edit kernel ⬇️:

Lệnh reset password trong linux

Tại đây chúng ta tiếp tục bấm e xuất hiện như hình bên dưới:

Lệnh reset password trong linux

Bước 3: Tại dòng linux... chúng ta thêm vào cuối dòng 1 hoặc single như bên dưới ⬇️:

Thêm thông số single mode là 1:

Lệnh reset password trong linux

Thêm thông số single mode là single mode:

Lệnh reset password trong linux

Nhấn Enter để save cấu hình tạm thời quay về màng hình grub, như bên dưới:

Lệnh reset password trong linux

Nhấn phím b để khởi động các tùy chọn tạm thời này để cho phép bạn khôi phục tài khoản root của bạn.

Bây giờ bạn sẽ khởi động lên shell root và bạn có thể sử dụng passwd để đặt mật khẩu mới cho ueser root. Bạn sẽ được yêu cầu nhập mật khẩu hai lần.

Sau khi nhập pass xong chúng ta sẽ khởi động lại hệ thống. Chạy lệnh sau:

reboot

Các thao tác được thực hiện như bên dưới:

Lệnh reset password trong linux

Sau khi reset password cho superuser (root) thành công bạn có thể đăng nhập và sử dụng hệ thống với mật khẩu mới mà bạn đã tạo. Đây là cách bạn thay đổi mật khẩu root trên bản phân phối CentOS 6.

1.1.3. Bản phân phối CentOS7/RHEL7 boot BIOS

Bước 1: Trong menu grub khởi động, chọn tùy chọn để chỉnh sửa ⬇️.

Lệnh reset password trong linux

Bước 2: Chọn tùy chọn để chỉnh sửa (e) ⬇️.

Lệnh reset password trong linux

Bước 3: Chuyển đến dòng linux16... và thay đổi ro thành rw init=/sysroot/bin/sh ⬇️.

Lệnh reset password trong linux

Bước 4: Bây giờ nhấn Control + x để bắt đầu ở chế độ người dùng ⬇️.

Lệnh reset password trong linux

Trong chế độ người dùng, chúng ta sẽ thay đổi mật khẩu gốc. Đầu tiên chúng ta chạy lệnh như bên dưới:

chroot /sysroot

Tiếp theo chúng ta sẽ chạy các lệnh dưới đây để thay đổi mật khẩu cho superuser (root):

passwd root

Chúng ta sẽ nhắc tạo và xác nhận mật khẩu mới. Sau khi tạo mật khẩu, chạy lệnh bên dưới để cập nhật các tham số SELinux:

touch /.autorelabel

Thoát và khởi động lại hệ thống của bạn như sau:

exit
reboot

Lưu ý: Nếu hệ thống có đang dùng SELinux thì chúng ta mới thực hiện thêm các bước SELinux.

Cách thao tác trên được thực hiện như hình bên dưới:

Lệnh reset password trong linux

Sau khi reset password cho superuser (root) thành công bạn có thể đăng nhập và sử dụng hệ thống với mật khẩu mới mà bạn đã tạo. Đây là cách bạn thay đổi mật khẩu root trên bản phân phối CentOS 7.

Lưu ý: Bản phân phối RHEL 7 cũng được thực hiện tương tự như bản phân phối CentOS 7.

1.1.4. Bản phân phối CentOS7 boot UEFI

Bước 1: Trong menu grub khởi động, chọn tùy chọn để chỉnh sửa ⬇️.

Lệnh reset password trong linux

Bước 2: Chọn tùy chọn để chỉnh sửa (e) ⬇️.

Lệnh reset password trong linux

Bước 3: Chuyển đến dòng linuxefi... và thay đổi rhgb quiet thành rd.break enforcing=0 ⬇️.

Lệnh reset password trong linux

Bước 4: Bây giờ nhấn Control + x bạn sẽ bắt đầu ở chế độ người dùng ⬇️.

Sau khi bắt đầu ở chế độ người dùng, bạn phải remount filesystem là có thể ghi được vì nó được gắn ở chế độ chỉ đọc, bạn cần gõ lệnh sau:

mount -o remount,rw /sysroot

Chúng ta sẽ thay đổi mật khẩu gốc. Đầu tiên chúng ta chạy lệnh như bên dưới:

chroot /sysroot

Tiếp theo chúng ta sẽ chạy các lệnh dưới đây để thay đổi mật khẩu cho superuser (root):

passwd root

Chúng ta sẽ nhắc tạo và xác nhận mật khẩu mới. Sau khi tạo mật khẩu, chạy lệnh bên dưới để cập nhật các tham số SELinux:

touch /.autorelabel

Bây giờ bạn phải remount filesystem lại chế độ chỉ đọc:

mount -o remount,ro /

Thoát và khởi động lại hệ thống, chúng ta chạy lệnh sau hai lần:

exit

Lưu ý: Nếu hệ thống có đang dùng SELinux thì chúng ta mới thực hiện thêm các bước SELinux.

Chúng ta thực hiện như ảnh bên dưới:

Lệnh reset password trong linux

Sau khi hệ thống khởi động lại chúng ta đăng nhập user root với passwd mới thực hiện các bước sau:

Nhập lệnh sau để khôi phục bảo mật SELinux của tập tin /etc/shadow:

restorecon /etc/shadow

Nhập các lệnh sau để bật lại thực thi chính sách của Selinux:

setenforce 1 

Thực hiện như sau:

Lệnh reset password trong linux

1.3. Nhóm Fedora

1.1.1. Bản phân phối Fedora

Ví dụ: Trong ví dụ dưới đây chúng ta thực hiện trên bản phân phối Fedora 29 Server

Bước 1: Trong menu grub khởi động, chọn tùy chọn để chỉnh sửa ⬇️.

Lệnh reset password trong linux

Bước 2: Chọn tùy chọn để chỉnh sửa (e) ⬇️.

Lệnh reset password trong linux

Bước 3: Chuyển đến dòng linux và thay đổi rhgb quiet thành rd.break enforcing=0 ⬇️.

Lệnh reset password trong linux

Bước 4: Bây giờ nhấn Control + x để bắt đầu ở chế độ người dùng ⬇️.

Tại chế độ người dùng chúng ta thực hiện như sau:

  • Khi hệ thống khởi động ở chế độ khẩn cấp, bạn cần kết nối lại ổ cứng với quyền đọc và ghi bằng lệnh sau:

    mount -o remount,rw / sysroot
    
  • Đặt mật khẩu gốc bị quên trong Fedora

    Bây giờ hãy chạy lệnh sau để truy cập hệ thống Fedora:

    chroot /sysroot
    

    Bạn có thể đặt lại mật khẩu người dùng gốc Fedora đã quên hoặc bị mất bằng cách sử dụng lệnh:

    passwd
    
  • exit hai lần để khởi động lại hệ thống.

Cách thao tác được thực hiện như sau:

Lệnh reset password trong linux

Bước 5: Đặt SELinux Context trên file /etc/shadow ⬇️

Đăng nhập vào user root và gõ lệnh sau để khôi phục SELinux trong file /etc/shadow:

restorecon -v /etc/shadow

Đưa SELinux trở lại chế độ thực thi:

setenforce 1

Chúng được thực hiện như bên dưới:

Lệnh reset password trong linux

Sau khi reset password cho superuser (root) thành công bạn có thể đăng nhập và sử dụng hệ thống với mật khẩu mới mà bạn đã tạo. Đây là cách bạn thay đổi mật khẩu root trên bản phân phối Fedora.

2. Nhóm Arch Linux

Bước 1: Trong menu grub khởi động, chọn tùy chọn để chỉnh sửa ⬇️.

Lệnh reset password trong linux

Bước 2: Chọn tùy chọn để chỉnh sửa (e) ⬇️.

Lệnh reset password trong linux

Bước 3: Chuyển đến dòng linux và thay đổi quiet thành init=/bin/bash ⬇️.

Lệnh reset password trong linux

Bước 4: Bây giờ nhấn Control + x hoặc F10 để bắt đầu ở chế độ người dùng ⬇️.

Lệnh reset password trong linux

Trong chế độ người dùng chúng ta cần thực hiện như sau:

Bạn cần kết nối lại ổ cứng với quyền đọc và ghi bằng lệnh sau sự thay đổi này sẽ chỉ là tạm thời và sẽ không được lưu trong tệp menu.ist boot của bạn.

mount -o remount,rw /

Sau đó, thay đổi mật khẩu người dùng root của bạn bằng cách sử dụng lệnh:

passwd

Chúng ta phải nhập mật khẩu mới hai lần và nhận được thông báo passd:password updated successfully:

Cuối cùng, nhập lệnh sau để áp dụng các thay đổi và khởi động Arch Linux của bạn:

exec /sbin/init

Các thao táo trên được thực hiện như hình bên dưới:

Lệnh reset password trong linux

Sau khi reset password cho superuser (root) thành công. Bây giờ bạn có thể đăng nhập vào máy chủ Arch Linux của mình bằng mật khẩu người dùng root mới. Đây là cách bạn thay đổi mật khẩu root trên bản phân phối Arch Linux.

3. Nhóm Debian/Ubuntu/LinuxMint

3.1. Bản phân phối Debian

Trong ví dụ dưới đây chúng ta sẽ thực hiện trên bản phân phối Debian 9.8.0:

Bước 1: Trong menu grub khởi động, chọn tùy chọn để chỉnh sửa ⬇️.

Trong bước đầu tiên, bạn cần khởi động lại hộp Debian vào menu của Grub. Chúng ta phải nhấn giữ phím SHIFT khi bạn khởi động máy tính cho đến khi menu của GRUB xuất hiện:

Lệnh reset password trong linux

Bước 2: Chọn tùy chọn để chỉnh sửa (e) ⬇️.

Lệnh reset password trong linux

Bước 3: Chuyển đến dòng linux và thay đổi ro quiet thành rw init=/bin/bash ⬇️.

Lệnh reset password trong linux

Bước 4: Bây giờ nhấn Control + x hoặc F10 để bắt đầu ở chế độ người dùng ⬇️.

Bây giờ Debian sẽ khởi động vào chế độ một người dùng, bạn cần kết nối lại ổ cứng với quyền đọc và ghi bằng lệnh sau:

mount -o remount /

Tiếp theo chúng ta cần thay đổi mật khẩu người dùng root bằng cách sử dụng lệnh:

passwd

Khởi động lại hệ thống của bạn:

exec /sbin/init

Các bước trong chế độ người dùng được thực hiện như bên dưới:

Lệnh reset password trong linux

Sử dụng mật khẩu mới mà chúng ta đã đặt để đăng nhập tài khoản người dùng root trên hệ thống của bạn.

Qua đây chúng ta biết được cách reset password của superuser (root) trên bản phân phối Debian của Linux.

3.2. Bản phân phối Ubuntu

Các bước reset password dưới đây được thực hiện trên bản phân phối Ubuntu 18.04.

Bước 1: Trong menu grub khởi động, chọn tùy chọn để chỉnh sửa ⬇️.

Trong bước đầu tiên, bạn cần khởi động lại hộp Ubuntu vào menu của Grub. Chúng ta phải nhấn giữ phím SHIFT khi bạn khởi động máy tính cho đến khi menu của GRUB xuất hiện:

  • Lệnh reset password trong linux

Bước 2: Chọn tùy chọn để chỉnh sửa (e) ⬇️.

Lệnh reset password trong linux

Bước 3: Chuyển đến dòng linux và thay đổi ro quiet thành rw init=/bin/bash ⬇️.

Chỉnh sửa nó để bao gồm chế độ đọc-ghi rw và init=/bin/bash. Thực hiện như sau:

Lệnh reset password trong linux

Bước 4: Bây giờ nhấn Control + x hoặc F10 để bắt đầu ở chế độ người dùng ⬇️.

Tại chế độ người dùng chúng ta thực hiện như sau.

Bạn cần kết nối lại ổ cứng với quyền đọc và ghi bằng lệnh sau:

mount -o remount /

Tiếp theo chúng ta đã sẵn sàng để thiết lập lại mật khẩu của user root. Chạy lệnh passwd. Khi được nhắc nhập mật khẩu root mới của bạn:

passwd

Chúng ta phải nhập mật khẩu mới hai lần và nhận được thông báo passd:password updated successfully:

Khởi động lại hệ thống của bạn:

exec /sbin/init

Các bước trong chế độ người dùng được thực hiện như bên dưới:

Lệnh reset password trong linux

Sử dụng mật khẩu mới mà chúng ta đã đặt để đăng nhập tài khoản người dùng root trên hệ thống của bạn.

Qua đây chúng ta biết được cách reset password của superuser (root) trên bản phân phối Ubuntu của Linux.

3.3. Bản phân phối Linuxmint

Các bước reset password dưới đây được thực hiện trên bản phân phối Linuxmint 19.1:

Đối với bản phân phối Linuxmint chúng ta có hai cách thực hiện:

Cách thực hiện thứ nhất để reset password của Linuxmint 19.1

Bước 1: Trong menu grub khởi động, chọn tùy chọn để chỉnh sửa ⬇️.

Chúng ta cần vào menu khởi động của GRUB . Khi máy tính khởi động, giữ phím Shift.

Lệnh reset password trong linux

Bước 2: Chọn tùy chọn để chỉnh sửa (e) ⬇️.

Trong trình tải khởi động grub để chọn HĐH mong muốn và nhấn e để chỉnh sửa khởi động.

Lệnh reset password trong linux

Bước 3: Chuyển đến dòng linux và thêm init=/bin/bash vào sau ro quiet ⬇️.

Lệnh reset password trong linux

Bước 4: Bây giờ nhấn Control + x hoặc F10 để bắt đầu ở chế độ người dùng ⬇️.

Trong trường hợp này, sau khi kernel được tải, lập tức tiến hành bash cho phép bạn thay đổi mật khẩu cho tất cả người dùng. Chúng ta chạy lệnh sau:

passwd [user]

Sau đó, chỉ cần nhập mật khẩu mới 2 lần và nhận được thông báo passd:password updated successfully

Khởi động lại máy tính và có thể sử dụng mật khẩu mới.

exec /sbin/init

Các bước được thực hiện như sau:

Lệnh reset password trong linux

Bây giờ chúng ta có thể đăng nhập user root với password mới của chúng ta.

Cách thực hiện thứ hai để reset password của Linuxmint 19.1

Bắt đầu theo cách tương tự, chúng ta cần nhập GRUB. Từ menu GRUB, chọn Advanced options for Linux Mint... và bấm phím Enter:

Lệnh reset password trong linux

Vào Advanced options, chọn recovery mode mục menu GRUB bằng cách sử dụng phím ↓(mũi tên xuống), như thế này:

Lệnh reset password trong linux

Sau khi chọn, bạn sẽ thấy một cửa sổ có nhiều tùy chọn, nhưng để khôi phục mật khẩu, bạn chỉ cần một root. Từ Recovery Menu, nhấn phím ↓(mũi tên xuống) để chọn root (Drop to root shell prompt), sau đó nhấn phím Enter:

Lệnh reset password trong linux

Vì hệ thống tập tin ở chế độ chỉ đọc, Bạn cần kết nối lại ổ cứng với quyền đọc và ghi bằng lệnh sau:

```
mount -o remount,rw /
```

Chúng ta có thể thiết lập lại mật khẩu tài khoản root. Nhập lệnh bên dưới để thay đổi mật khẩu:

passwd [user]

Bạn sẽ được nhắc nhập mật khẩu mới, sau đó nhập lại mật khẩu để xác nhận.

Bạn đã hoàn thành việc thay đổi mật khẩu user root. Chạy lệnh sync để đảm bảo dữ liệu được ghi vào đĩa trước khi khởi động lại, sau đó khởi động lại hệ thống:

sync
reboot

Các bước thực hiện như ảnh bên dưới:

Lệnh reset password trong linux

Bây giờ bạn sẽ có thể đăng nhập bằng mật khẩu mới của user root trên hệ thống Linux Mint của bạn.

4. Lời kết

Qua bài trên, giúp cho chúng ta biết cách reset password cho superuser (root) trên các bản phân phối của hệ điều hành Linux.