lz是因为拷贝了别人虚拟机文件,只拿到guest的密码,这样没有root权限完全不能安装软件,所以要破解虚拟机中ubuntu14.04的root密码。
Note: 鼠标从虚拟机中跳出来快捷键:ctrl+alt
linux中查看所有用户及用户组相关命令
groups 查看当前登录用户的组内成员
groups gliethttp 查看gliethttp用户所在的组,以及组内成员
whoami 查看当前登录用户名
cat /etc/group文件包含所有组
cat /etc/shadow和/etc/passwd系统存在的所有用户名
linux普通用户获取root权限
开启虚拟机时迅速点击鼠标进入虚拟机(或者重启时),长按shirft
选择advanced options for ubuntu
看到后面带recovery mode的选项按下字母e进入编辑页面,倒数第四行linux /boot/vm.......ro recovery \nomodeset 把那个ro改成rw,按F10启动recovery menu
在recovery menu中选择root drop to root shell prompt
将普通用户guest加入到sudo组中:#gpasswd –a guest sudo
ctrl+alt+del重启
进入系统使用普通用户guest登录,命令行中输入sudo su和普通用户guest的密码,能进入#就成功了,这样普通用户guest就有root权限了
linux普通用户修改root密码
进入grub菜单
如果是双系统直接选择进入advanced options for ubuntu
如果是虚拟机则重启ubuntu,随即长按shirft,再选择advanced options for ubuntu
选中后面带recovery mode的选项(最好选择版本高的那个 ,别回车!),按下字母e进入编辑页面。(其实直接回车也可以,后面会给出说明。)
光标向下移动到倒数第四行,会看到一行linux /boot/vm.......ro recovery \nomodeset,
倒数第四行,会看到一行linux /boot/vm.......ro recovery \nomodeset,
step 1: 删除recovery \nomodeset
step 2: 在这行的最后添加 quiet splash rw init=/bin/bash
有的可能只要把那个ro改成rw就可以了。如果usr挂载的是另外一个分区,这样修改后反而可能报错。因为恢复模式只挂载了根分区。
Note: 如果没有把ro改成rw,下面修改密码时会出现authentication token manipulation error,这是因为磁盘是以只读方式挂载的,需要使用命令“mount -o rw,remount /”把根分区重新挂载成读写模式的。之后再重启进入时,rw又自动改回ro了,所以不用担心系统出什么问题。
按F10, 启动
进入shell界面,使用passwd命令设定新密码: passwd <用户名>
Note: passwd命令还有可能找不到。这是因为passwd命令在/usr/bin下,如果usr挂载的是另外一个分区,由于这个分区载恢复模式没有挂载导致passwd命令找不到。解决办法是重新挂载usr分区。可以将所有分区都挂载起来,或者使用cat命令查看/etc/fstab[和/etc/mstab(这个应该不需要查看)]找到挂载点为usr的分区,然后用mount命令将其挂载。然后就可以执行passwd命令了。
输入新密码,再次输入新密码,看到password updated successfully即为成功
ctrl+alt+del重启 #在单用户改过密码后不要reboot,直接init3 或startx
修改密码成功!
如果只是修改ro为rw之后只用在recovery menu中选择root drop to root shell prompt,然后回车
ctrl+d退出,选择resume就重启了
不过在虚拟机中使用root修改普通用户密码成功,但是界面中输入时仍提示invalid
虚拟机中root修改普通用户登录密码后输入正确密码也提示invalid
单用户模式修改普通用户密码成功后还是登录不了
这就是说,root密码可以修改成功,而普通用户的密码修改成功却不能登录使用,很奇怪。