昨天有台机器的Ubuntu系统密码出了问题,一直提示错误。由于里面的数据比较重要,不建议重装系统,所以百度了一会,最终解决了忘记密码问题。整理了一个大合集分享出来。

  第一种:参考教程如下                     https://blog.csdn.net/zd147896325/article/details/81664558

  简单的介绍一下流程。

第一步:

回车,进入高级选项

第二步

随便选一个recovery mode  以4.4.0-130为例。选了这个,后续所有的启动就不要选别的版本号了(图中还有4.4.0-121和119和21和96)

按e进入编辑不要按回车不要按回车不要按回车。(按错了关机重来)

第三步

这里有一个有争议的地方,上面的替换结果为 ro quiet splash rw init=/bin/bash 或者quiet splash rw init=/bin/bash 这里的区别在于有没有  ro  我分别试过,我使用的18.04系统,加了ro不行,不能有效的修改密码。这里大家可以都试试,这样比较稳妥一点。为什么要修改这里,我大致的百度过,因为普通的recovery mode采用的只读模式,不能修改,所以要进入的时候添加上可读可写的权限。

第四步

  这里就进入了一个类似于终端的地方,这个终端在第二个方法中使用的特别频繁,这个终端可以直接运行绝大多数指令(大多数不是全部,比如图像界面的就不可以 比如gedit)。使用命令即可清楚密码 passwd + 用户名 (比如passwd root或者passwd lqmdashuaibi)

重启即可生效。(重启快捷键 CTRL+alt+del)

 

 

 

  上面的方法确实可行,但是昨天我遇到的问题有点奇怪,刚开始账户密码改了之后 还是登录不进去,后来使用passwd +用户名 直接提示没有此用户了,这种情况下上述方法就失效了。

  顺带说一下如何查看系统种所有的用户  在终端使用命令  cat /etc/shadow    名字超级长的就是用户 如下图所示

上图中可以看到用户有两个  root   和   angel 

 

  第二种方法:       参考教程   https://blog.csdn.net/jiangjiang_jian/article/details/81169258

  大致的说一下思路  因为原有的账户密码失效了,更改也不行。所以可以在recovery mode 中 添加一个用户 ,使用那个用户进入系统。然后再给添加的用户root权限,就可以实现使用新添加的账户来对系统进行完全掌控。避免访问文件、挂载磁盘的时候出某些冲突,还可以使用root模式删掉出问题的账户。

具体实现如下:

  和上述一样,修改Ubuntu高级选项进入recovery mode (目的是有可读可写的权限) 进入终端之后,使用 adduser + 用户名 (比如 adduser lqmdashuaibi)

  然后根据引导完成用户的创建 (英语看不懂的建议有道词典)有一些需要解释的地方  FULL NAME 为你登录的时候显示的名字(而非用户名),其他的直接敲回车就可以了。

  举个例子:adduser lqm  如果设置 FULL NAME 为LQM  那么使用 deluser的时候要写lqm  而不能写LQM   换句话说FULL NAME 仅仅用来显示登陆界面的名字(我个人是这样理解的)

然后给这个用户 添加进root模式的权限 这个需要在文件中修改。在终端中打开相应的文件进行修改即可  使用 visudo 命令开始编辑该文件

注意名字要正确 不要使用FULL NAME 

保存重启(CTRL+alt+del 三键重启)  然后正常进入系统,登录创建好的账户即可。然后使用sudo su 就可以进入root模式了

想删除之前有问题的账号可以使用deluser + 用户名 (root权限才可以) 比如 deluser  lqmdashuaibi

  adduser 和useradd  对应的删除为 deluser 和userdel  这两者的区别可以在上述的参考教程中找到。

 

that is all

 

版权声明:本文为zedd原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/zedd/p/13140147.html