1.如果还能用普通用户登陆的话,%df /etc,确定包含/etc目录分区的设备名。
%df /etc / /dev/dsk/c0t0d0s0……
此例中是c0t0d0s0,如果你的根目录分区设备不一样的话,替换一下就可以。
2.把系统盘插入cdrom中。
3.出现提示符后,使用sync命令刷新文件系统。
4.按下stop+A。
5."ok"状态下键入boot cdrom -s。
6.在"#"提示符下键入mkdir /temp ,然后键入mount /dev/dsk/c0t0d0s0 /temp。如果出现挂接不上的情况时,那么就运行fsck先 fsck /dev/rdsk/c0t0d0s0,然后在mount。
7.cd /temp/etc。
8.cp shadow shadowbak。
9.cat shadow得到root的口令字符串
root:djglcj0J:6453::::
(其中djglcj0J就是root的加密后的口令字符串) 10.sed s/djglcj0J// shadow>shadownew。
11.cat shadownew查看是否已经变为。
root::6453::::
12.cp shadownew shadow。
13.cd /
unmount /temp sync shutdown -i0 -g0 -y
14.取出CD后,重起系统,这时root就不需要密码啦!
这样也可以!
OK boot cdrom -s #TERM=sun #export TERM #mount /dev/dsk/c0t0d0s0 /a #vi /a/etc/shadow(删除root的加密后的密码) #reboot
二、恢复SCO UNIX超级用户口令
一旦运行SCO UNIX 机器的超级用户口令忘了,可以用这个方法解决。
在另一台安装了SCO UNIX的机器上,以Root用户注册,进入系统,用 mkdev fd命令或命令scoadmin中的Filesystem之Floppy Filesystem Manager来制作应急启动盘,包括Boottable 盘和Root filesystem盘。
将上述制作的Root filesystem盘安装到硬盘上。
# mount /dev/fd0135ds18 /mnt
再将硬盘上的/etc/passwd 和/tcb/files/auth/r/root两个文件拷贝到Root filesystem盘上。
# cp /etc/passwd /mnt # cp /tcb/files/auth/r/root /mnt
卸载机器1硬盘上的软盘。
# umount /dev/rfd0135ds18
用Boot软盘去启动遗忘口令的机器,根据提示插入Root filesystem软盘,待出现“#”时,进行下面操作,将硬盘挂到软盘上:
# mount /dev/hd0root /mnt
备份硬盘上的/etc/passwd和/tcb/files/auth/r/root两个文件。因为这两个文件中还包含其他用户的注册信息。
用Root filesystem软盘上的两个文件,覆盖硬盘上的两个文件/etc/passwd 和/tcb/files/auth/r/root。
# mkdir /cyh # mount /dev/fd0135ds18 /cyh # cd /cyh # cp passwd /mnt/etc # cp root /mnt/tcb/files/auth
卸载安装上的两个文件系统。
# umount /dev/hd0root # umount /dev/fd0135ds18
取出软盘,重新启动机器,待出现Login时,以Root用户注册,键入第二台机器的超级用户口令,这样便可进入的超级用户了。进入超级用户后,用Passwd和Root这两个文件的备份覆盖原来的文件,接着用passwd命令修改超级用户的口令。用户可以用Alt+F2换一个窗口,以Root注册,现在用修改后的口令就能用了。