好久没有使用虚拟机中的Ubnutu了,师傅说还是需要好好学习嵌入式linux,只好再次打开这个占我不少内存的虚拟机系统。
刚打开Ubnutu界面就傻眼了,当时设置的用户密码早已记不清。只记得当时没有设置root密码,百度发现Ubnutu的root用户密码在不设置的情况下是随机的,也不能去搞定这个root密码了。再次求助度娘!
百度经验中给出的方法如下:1、重启Ubnutu,长按Shift键进入Grub菜单;2、选择Advanced option for Ubnutu;3、选择Recovery mode,按E键进入编辑模式,寻找RO修改为RW,Ctrl+X进入;4、在Recovery Menu中选择Root进入Root命令行执行输入;5、通过passwd + 用户名修改用户的密码;
由于在第3步没有发现什么只读的部分,直接进入了Root命令行执行passwd修改用户密码,执行修改密码命令之后提示:Authenication token manipulation error;为此查询这个故障。论坛上有很多关于这个故障的分析,大致分为两种原因:1、分区没有空间导致;2、/etc/passwd和/etc/shadow不同步;按照论坛中的方法通过llattr显示文件的属性并且用chattr进行修改,发现chattr:
Read-only file system while setting flags on /etc/passwd
这时候就知道我的文件系统存在只读的部分这个问题,第3步的操作没有留意到只读属性了。还是利用度娘,找到了解决的方法。通过查看/proc/mounts文件知道具体哪个部分是只读的文件系统,调用mount-o remount, rw 文件部分即可将这部分设置为读写模式,这时候就可以通过passwd进行修改用户的密码了。
事情到此,我的疑惑来了。在不知道用户密码的情况下,可以通过这种方式来修改用户密码,这个不是降低了Ubnutu的安全特性吗?求解!