免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1859 | 回复: 0
打印 上一主题 下一主题

suse linux root密码丢失的解决 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-08-11 17:09 |只看该作者 |倒序浏览

               
suse linux root密码丢失的解决

之前听说过用单用户模式和光盘引导的办法来恢复密码,这种方法适用于redhat linux,但在suse
linux环境下,进入单用户模式仍然需要密码,因此通过进单用户模式恢复root密码的方式行不通;恰好手边也没有suse的系统安装光盘,只能想其他
办法了。总会有解决办法,最终的解决办法如下:
1、重新启动机器,在出现grub引导界面后,在启动linux的选项里加上init=/bin/bash,通过给内核传递init=/bin/bash参数使得OS在运行login程序之前运行bash,出现命令行。
2、稍等片刻出现(none)#:命令行。
3、这时输入mount -n / -o remount,rw 表示将根文件系统重新mount为可读写,有了读写权限后就可以通过passwd命令修改密码了。
4、这时输入passwd命令就可以重置密码了。输入一个你记得住的密码,不过记不住也无所谓,现在我们已经知道解决的办法了,呵呵。
5、修改完成后记得用mount -n / -o remount,ro将根文件系统置为原来的状态。
Set Root Password
If you've lost your root password, you might be able to recover it
using the steps below. However, some systems are protected with boot
loader passwords that will not let you do that without THAT password.
If the boot loader is password protected, you need to boot from other
media Like the OpenSUSE CD/DVD/mini-boot. OpenSUSE install CD is
probably the best one to use.
[
edit
]CD/DVD Recovery Mode
If using CD/DVD boot media, You need to choose Rescue System. You
enter root and then mount the disk manually. For example, a Compaq raid
controller will probably be /dev/ida/c0d0 or an IDE drive will be
/dev/hda1. Find the partitions by using fdisk /dev/ida/c0d0 or fdisk
/dev/hda (just "p" and quit) and then mount what you need.
mount -o remount,rw /dev/sda2 /mnt
# cd /mnt
# chroot /mnt
# passwd
For 10.3, you need somemore steps:
Start the rescue system. Find the disk root partition, then, assuming its hdxy (or probably sdxy):
mount /dev/hdxy /mnt
mount -o bind /proc /mnt/proc
mount -o bind /sys /mnt/sys
mount -o bind /dev /mnt/dev
chroot /mnt
you are root in the installed sytem, with all at hand: passwd, but also YaST...
"bind" allow using two mount points for system virtual folders.
If all fails, consider that you can pull this drive (or install
another drive in this machine) and mount it from another running Linux.
Then recover the root password as explained above.
[
edit
]Single User Mode
The first thing to try is to boot to single user mode. This MIGHT
not work for you, because your system might be configured to still ask
for a root password to get to single user mode. If that's the case,
we'll use another trick that replaces init with /bin/bash.
First, try single user. If you don't see either a LILO or GRUB
boot screen, try hitting CTRL-X to get one. If it's LILO, just type
"linux single" and that should do it (assuming that "linux" is the lilo
label). If GRUB, hit 'e", then select the "kernel" line, hit "e" again,
and add " single" (or just " 1") to the end of the line. Press ENTER,
and then "b" to boot. (Newer version of grub uses "a" to append to the
boot line)
You should get a fairly normal looking boot sequence except
that it terminates a little early at a bash prompt. If you get a "Give
root password for system maintenance", this isn't going to work, so see
the "init or /bin/bash" version below.
If you do get the prompt, the / filesystem may not be mounted rw (although "mount" may say it is). Do
mount -o remount,rw /
If that doesn't work (it might not), just type "mount" to find out
where "/" is mounted. Let's say it is on /dev/sda2. You'd then type:
mount -o remount,rw /dev/sda2
If you can do this, just type "passwd" once you are in and change it
to whatever you like. Or just edit /etc/shadow to remove the password
field: move to just beyond the first ":" and remove everything up to
the next ":". With vi, that would be "/:" to move to the first ":",
space bar once, then "d/:" and ENTER. You'll get a warning about
changing a read-only file; that's normal. Before you do this,
/etc/shadow might look like:
root:$1$8NFmV6tr$rT.INHxDBWn1VvU5gjGzi/:12209:0:99999:7:-1:-1:1074970543
bin:*:12187:0:99999:7:::
daemon:*:12187:0:99999:7:::
adm:*:12187:0:99999:7:::
and after, the first few lines should be:
root::12209:0:99999:7:-1:-1:1074970543
bin:*:12187:0:99999:7:::
daemon:*:12187:0:99999:7:::
adm:*:12187:0:99999:7:::
You'll need to force the write: with vi, ":wq!". (If that still doesn't work, you needed to do the -o remount,rw, above).
[
edit
]INIT or /bin/bash Mode
Another trick is to add "init=/bin/bash" (LILO "linux
init=/bin/bash" or add it to the Grub "kernel" line). This will dump
you to a bash prompt much earlier than single user mode, and a lot less
has been initialised, mounted, etc. You'll definitely need the "-o
remount,rw" here. Also note that other filesystems aren't mounted at
all, so you may need to mount them manually if you need them. Look in
/etc/fstab for the device names.
Keep this in mind if you have a Linux machine in a publically
accessible place : without more protection, it's not usually hard to
recover a lost root password, which means it's just as easy for someone
to CHANGE it, or access root without your knowledge.
Another way to do this is to remove the password from
/etc/shadow. Just in case you screw up, I'd copy it somewhere safe
first. You want to end up with the root line looking something like
this:
Original line:
root:$1$EYBTVZHP$QtjkCG768giXzPvW4HqB5/:12832:0:99999:7:::
After editing:
root::12832:0:99999:7:::
If you are having trouble with editing (you really do have to learn
vi one of these days), you could just (after making a copy, of course)
just
echo  "root::12832:0:::::" > /mnt/etc/shadow
or, if you were in single user mode
echo  "root::12832:0:::::" > /etc/shadow
and then fix things up when rebooted.
               
               
               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/1604/showart_2024654.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP