Ubuntu Linux在未知root密码的情况下修改root密码
[日期:2013-01-25] 来源:Linux社区 作者:韩大卫@吉林师范大学 [字体:大 中 小]
在未知root密码的情况下修改root密码.Ubuntu/Linux. 史上最简单实用的一种办法
大致上分为两步:
一, 进入可读写的root用户模式. 二, 修改root密码.
开机按 F12 (或长按Shift), 进入GRUB界面.
一, 选择 Advanced options for Ubuntu
二, 可以看到两个模式,
1, Ubuntu, Linux 3.5.0-17-generic
2, Ubuntu, Linux 3.5.0-17-generic (恢复模式) (或recovery mode)
在恢复模式处, 按e, 进入Ubuntu恢复模式的脚本编辑界面,
找到以下语句: 开头是linux, 后面有 … ro recovery nomodeset
将ro recovery nomodeset 改为 rw single init=/bin/bash
注 :如不修改此处, 后面进入root后,但是不能修改文件.
以上修改意为改为可读可写的单用户模式, 之后按Ctrl + x, 进入单用户模式, 此时的用户即位root用户.
以上步骤是为了进入可读写的root用户模式.以下步骤为修改root密码.
进入命令行后, 再输入新的root密码, 在命令行中执行passwd root 输入两次新的密码即可.
此时原来的root密码便永远随风而去了,只有上帝才知道它曾经存在过,而且困扰过我们,就像我们的年少时暗恋过的女孩一样.最后重启系统. BTW: 以上方法适合 *** 作一个不知root密码以及任何用户密码的情况下使用,例如拿到一个PC, 不知道开机密码的情况下使用.如果已知一个用户的登录密码, 可以 sudo passwd root , 输入当前用户的密码即可修改root密码.
用root登陆 后 输入passwd回车 再输入新密码就可以了\x0d\x0a这是具体过程\x0d\x0a1、重新启动机器,在出现grub引导界面后,按F2,在启动linux的选项里加上init=/bin/bash,通过给内核传递init=/bin/bash参数使得OS在运行login程序之前运行bash,出现命令行。 \x0d\x0a2、稍等片刻出现(none)#:命令行。 \x0d\x0a3、输入mount -n / -o remount,rw \x0d\x0a4、输入 mount _n /usr \x0d\x0a5、输入 cd /usr/bin \x0d\x0a6、输入passwd命令就可以重置密码了。输入新密码。 \x0d\x0a7、修改完成后记得用mount -n / -o remount,ro将根文件系统置为原来的状态。 \x0d\x0a8、输入 exit 退出系统,重新启动系统,用新密码登录。重置密码主要有rd.break和init两种方法。 rd.break方法:
1、启动的时候,在启动界面,相应启动项,内核名称上按“e”;
2、进入后,找到linux16开头的地方,按“end”键到最后,输入rd.break,按ctrl+x进入;
3、进去后输入命令mount,发现根为/sysroot/,并且不能写,只有ro=readonly权限;
4、mount -o remount,rw /sysroot/,重新挂载,之后mount,发现有了r,w权限;
5、chroot /sysroot/ 改变根;
(1)echo redhat|passwd –stdin root 修改root密码为redhat,或者输入passwd,交互修改;
(2)还有就是先cp一份,然后修改/etc/shadow文件
6、touch /.autorelabel 这句是为了selinux生效
7、ctrl+d 退出
8、然后reboot
至此,密码修改完成
init方法:
1. 启动系统,并在GRUB2启动屏显时,按下e键进入编辑模式。
2. 在linux16/linux/linuxefi所在参数行尾添加以下内容:init=/bin/sh
3. 按Ctrl+x启动到shell。
4. 挂载文件系统为可写模式:mount –o remount,rw /
5. 运行passwd,并按提示修改root密码。
6. 如何之前系统启用了selinux,必须运行以下命令,否则将无法正常启动系统:touch /.autorelabel
7. 运行命令exec /sbin/init来正常启动,或者用命令exec /sbin/reboot重启
第三种办法楼主参考linuxprobe网站上第一章-第14小节-重置root密码。
希望可以帮到您!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)