Ubuntu Server忘记密码后,单用户模式修改密码进去不了桌面的无奈
俗话说的好,好记性不如烂笔头。有时候脑子一热,就想不起来之前设置过的密码是什么了。我可怜地忘了我的Ubuntu Server的密码,回忆了n种组合都不行,于是只能进行单用户模式的修改密码了。
以下的操作基于我忘了用户名pcat的密码。
0x01 进入单用户模式修改密码
开机到grub界面的时候,按下上下键移动到Advanced options for Ubuntu
,回车进去选择Ubuntu, with Linux 4.2.0-27-generic (recovery mode)
,按下e(而不是按下回车)进入到编辑状态,按上下键移动到下面,找到ro recovery nomodeset
,把它改为
rw single init=/bin/bash
再按下ctrl+x
或者F10就可以进入单用户模式,进去后就是root权限,
强制修改pcat用户的密码:
passwd pcat
输入一个新的密码,再重复一遍,即修改成功。
之后输入reboot如果提示如下:
shutdown: Unable to shutdown system
无法关闭系统,那么就只好自己强制关闭了。
0X02 以新密码进去桌面会黑屏
黑屏后,慌了,然后我按下ctrl+alt+f5
(你可以试试f1到f6)进入到命令行模式
再以新密码登录pcat,是可以的,然后想再次进入图形化界面,输入
startx
可惜报:
xauth: timeout in locking authority file /home/pcat/.Xauthority
我思索了好久,也搜了好久,最后我输入
ls /home/pcat
Access-Your-Private-Data.desktop README.txt
原来的主目录显示不了,然后显示了这2个文件,我就郁闷了,后来稍微回想下,我在Ubuntu Server安装的时候选择了加密主目录,即使我修改了pcat用户的密码,但是/home/pcat这个目录被以前的密码给加密了。更苦逼的是,我当初在加密主目录后,登录系统后没去保存密钥,以此为戒。
(在之前,保存密钥的方法:在终端输入
ecryptfs-unwrap-passphrase
则可以得到一串长长的字符串,保存在安全的地方,这是关键。这是为了可以还原加密后的文件,若有必要请自行搜索。)
0x03 只能无奈删除用户,重建用户
只能再进入到单用户模式来操作,或者之前有为root设置过密码,切换到root下也可以。
userdel pcat
rm -rf /home
mkdir /home
useradd -d /home/pcat -m pcat
passwd pcat
如果有为root设置过密码,还可以继续为pcat用户添加执行sudo命令权限
su -
echo 'pcat ALL=(ALL) ALL' >> /etc/sudoers
exit