我是 ubuntu 的忠实用户,我忘记了我的用户和 root 密码,现在我无法登录我的机器。我可以通过访客用户登录。请帮我重置密码。
我尝试通过恢复来重置密码,但经过 3 个步骤后,它开始要求我“提供 root 密码进行维护或按 control-D”。
我尝试了另一种方法,即按“e”而不是“enter”,选择 ubuntu,使用 linux 4.4.0-140-generic(恢复模式)。但下一个窗口却大不相同。
请帮忙 !
答案1
1. 以恢复模式启动您的机器 -> 恢复正常启动。您应该会得到 root 权限提示。您需要遵循以下步骤:
root@demo:~$ mount -o remount,rw /
root@demo:~$ passwd yourusername
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
root@demo:~$ reboot
2. 您可以使用 chroot。使用 Live CD/DVD/USB 启动您的机器
启动终端并按照以下步骤挂载根磁盘
# check what is your disk
ubuntu@demo:~$ sudo fdisk -l
Disk /dev/sda: 111,8 GiB, 120034123776 bytes, 234441648 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 083E1E28-FEE5-4BF0-B7CE-84520FB93B9D
Disposit. Start Final Sectores Size Tipo
/dev/sda1 2048 391167 389120 190M EFI System
/dev/sda2 391168 58660699 58269532 27,8G Linux filesystem
/dev/sda3 58660864 234440703 175779840 83,8G Linux filesystem
# in this case my root disk is /dev/sda2
ubuntu@demo:~$ mkdir disk
ubuntu@demo:~$ sudo mount /dev/sda2 disk
# you can check the files for ensure is root partition
ubuntu@demo:~$ sudo ls disk
bin dev home lib media proc sbin sys var
boot initrd.img lib64 mnt root snap tmp vmlinuz
cdrom etc initrd.img.old lost+found opt run srv usr vmlinuz.old
ubuntu@demo:~$ sudo chroot disk
# passwd for your username
root@demo_chroot:~$ passwd yourusername
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
#exit from chroot
root@demo_chroot:~$ exit
# finish umounting and reboot
ubuntu@demo:~$ sudo umount disk
答案2
从 USB 启动(如果您的系统较旧,则从 CD/DVD 启动)。
然后,您可以使用 /etc/shadow 挂载分区并输入新的密码哈希。最简单的方法是从用户(在本例中为 root)的现有影子文件中复制。