一不小心忘记了ubuntu的用户密码,在网上找了下教程,可以在ubuntu的grub菜单里进入高级模式-->再选择recovery选项,就可以进入一个纯字符界面-->输入root用户的密码,进入root模式-->用cat /etc/shadow,就可以查看主机中的用户-->用passwd “username”就可以修改密码了。
然而修改自己的密码,出现“-passwd:Authenticationtoken manipulation error“的错误提示,查了一下资料,报这样的错误,一般是密码文件的权限的问题,不过也有可能是根目录空间满。用lsattr /etc/shadow命令查看存放用户和密码的文件属性,发现没有i(i:不得任意更动文件或目录,若有此问题,可用chattr -i /etc/shdow命令将i权限撤销)选项,排了因文件权限不能修改密码的问题。
当用df命令查看磁盘空间时,发现磁盘空间的利用率都不到10%,因此不是简单的磁盘空间不足的问题。用mount命令查看当前磁盘分区,出现了一个warming: /etc/mtab is not writable (e.g. read-only filesystems)。分析其原因,原来是ubuntu为了安全,默认将recovery模式设置成为只读,也就是说在recovery模式下根文件系统被挂载成只读模式了。而在程序不可写入数据时,程序就认为磁盘空间不够用了。解决办法就是手动更改根文件系统的权限,用到的命令是mount / -o rw,remount。于是就可以快乐的修改密码了。