之前安装的Ubuntu虚拟机的密码忘记了...在网上找处理方法的时候碰到了一些坑,在这里记录下成功修改密码的操作流程。Ubuntu版本为18.04。
——前方多图预警——
01
重置root用户密码
1.在系统启动时长按shift键直到显示以下界面。
2.通过上下键将光标移至Advanced options for Ubuntu(语言设为中文时显示的可能是Ubuntu 高级选项),回车。
3.在高级选项界面将光标移至末尾带有(recovery mode)的系统处,此处可以选择版本最高的系统。
4.按e键进行编辑,找到"Linux /boot/vmlinuz…ro recovery nomodeset…",删除"recovery nomodeset"并在末尾添加"quiet splash rw init=/bin/bash"。
ro/rw表示以只读(ro)/读写(rw)模式挂载根文件系统;
quiet用于设置静默模式;
splash用于设置启动时的屏幕输出;
init用于指定内核挂载根文件系统后运行的第一个用户空间程序的绝对路径(也有文章描述为设置内核执行的初始化进程名)。
修改后内容如下。
5.按下ctrl+x快捷键或F10启动。
6.输入"passwd"修改root用户密码,提示password updated successfully表示修改成功。此处也可以输入"passwd [UserName]"修改指定用户的密码。
7.按下ctrl+alt+delete快捷键重启系统进行登录。
02
查看用户名及修改用户密码
由于Ubuntu系统默认root用户无法直接登录,如果忘记登录用户名,可以通过以下方式查看以及修改普通用户密码。
1.重复重置密码操作的步骤1至步骤3,选中recovery mode的系统后按回车,进入Recovery Menu。
2.将光标移至root Drop to root shell prompt,回车。此时会提示输入root用户密码,输入密码后即可进入root用户shell提示符界面。
3.此时可以通过以下方式来查看用户账号的信息。
a.查看/etc/passwd文件,该文件用于记录用户的基本信息,每个用户都有一条信息记录行。/etc/passwd文件对所有用户可读。
cat /etc/passwd
b.查看/etc/shadow文件,该文件用于记录加密口令等信息,只有root用户可以进行访问。/etc/shadow根据/etc/passwd产生,记录的信息条目和/etc/passwd中的信息条目一一对应。
cat /etc/shadow
c.查看/home目录下的子目录,/home目录下每个子目录对应一个用户,目录名也就是用户名。
ls /home
4.确认用户名后,重复重置密码操作的步骤6即可修改用户密码。
5.输入"reboot"重启进行登录。
03
登陆后修改密码
登录成功后,可以在终端通过"sudo passwd [UserName]"修改指定用户的密码,不设置UserName时默认修改当前用户的密码。
相关命令:
sudo -i 免密码切换到root用户
su [UserName] 切换到UserName用户,不设置UserName时默认切换到root用户。