• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

SCO UNIX密码丢失的处理

发布: 2007-6-08 22:43 | 作者: seanhe | 来源: | 查看: 65次 | 进入软件测试论坛讨论

领测软件测试网
  在重要的计算机应用领域中,UNIX系统起着主导作用。UNIX具有很强的可伸缩性、健壮性,完全支持Internet和良好的用户界面,是其它非UNIX系统无法做到和替代的。目前,UNIX覆盖了大多数银行电信、保险、证券、铁路等系统应用,即使在Internet应用方面,使用的也绝大多数是各计算机厂商提供的各种UNIX系统,可以说UNIX无处不在。
  SCO公司的SCO UNIX系列产品在全球市场份额所占的比重相当大。由于SCO UNIX不依赖于任何硬件平台,在基于Intel公司的芯片的个人计算机和网络系统上就可以运行,因此具有成本低廉、维护简便的特点,受到广大用户的好评和欢迎。

  在国内,各商业银行的营业点、各保险公司、邮电等行业中都在使用SCO UNIX。SCO UNIX运行相当稳定,对系统硬件的要求不高,所以一向受到国内各有关金融部门的青睐。

  SCO UNIX本身的可靠性是相当高的,很少出现什么问题,但人为操作有时会造成一些麻烦甚至是致命的问题,其中之一就是因为种种原因导致root超级用户的密码失效(因为一段时间没有使用而将密码忘记了或者被其他知道密码的人有意无意地修改了)。这种情况一旦发生,后果是非常严重的:不可能再安装新的软件或者硬件设备,无法对现有硬件设备的参数进行任何修改,不能对用户进行任何管理,某些必须使用超级用户权限才能运行的程序和命令也将无法使用,一切系统管理工作都将陷于瘫痪。发生这种情况的时候,一般只能通过重新安装系统来解决。但这样一来一则有可能丢失一些重要的程序和数据(因为许多文件可能没有权限访问,所以无法备份出来);二则要耗费相当多的时间来重新安装系统及调试应用程序(很多应用程序都有许多随机的参数需要根据具体情况调整,特别是一些涉及到通信的应用程序),因此这只是一个没有办法时的办法。本人在工作中经过多次试验发现了更加简单而有效的解决方法,现整理出来供大家参考。这种方法可以很轻易地解决以上问题,并且可以保留所有的应用程序及其相关参数。以下工作全部都是SCO UNIX5.0.5 上实现的,其它版本的SCO UNIX基本与此相同,仅仅在某些细节部分有些差异。

  假设有某台机器root用户密码被忘记了,称它为A机;找一台安装有同样SCO UNIX 5.0.5系统并知道root用户密码的机器,称它为B机;此外还需要2张1.44M的3寸软盘,分别标明BOOT与ROOT,用来制作应急盘。

  一、在B机以root用户签到,使用mkdev fd命令,画面显示:

  1.Filesystem

  2.Emergency Boot and Root floppy filesystems

  Enter an option or q to quit: 输入2后回车,画面显示:

  1.96tpi,double sided,15 sectors per track(1.2Mb 5.25 inch)

  2.135tpi,double sided,18 sectors per track(1.44Mb 3.5 inch)

  3.135tpi,double sided,36 sectors per track(2.88Mb 3.5 inch)

  Enter an option or q to quit: 输入2后回车,画面显示:

  1.Root filesystem

  2.Boot filesystem

  3.Single floppy Boot and Root filesystem(2.88Mb only)

  If you have high density(1.44M)disks,you must create separate rootand boot filesystem floppies.The root floppy must be prepared first.If you have extra density(2.88Mb)disks,you can choose to have both the root and boot filesystems on the same floppy disk.

  Enter an option or q to quit:

  首先将标有ROOT的软盘插入驱动器,之后输入1并回车。中间程序会进行一些提问,全部回答“Y”即可。ROOT盘做完后,程序会重新回到这个画面,之后取出ROOT盘,插入标有BOOT的软盘,输入2并回车,画面显示:

  1.System specific boot

  2.Generic boot(builds a special kernel)The System specific boot floppy can only boot the machine it was created on.

  The Generic boot folppy can be used to boot any machine.

  Enter an option or q to quit:

  输入2并回车,中间程序也会进行一些提问,同样全部回答“Y”即可。完成后取出磁盘,输入“q”并按回车退出。

  二、仍然是在B机上,将ROOT盘插入驱动器,之后按顺序输入以下命令:

  mount /dev/fd0135ds18 /mnt

  cp /etc/passwd /mnt/passwd

  cp /etc/shadow /mnt/shadow

  cp /tcb/files/auth/r/root /mnt/root

  cd

  umount /dev/fd135ds18

  完成以上命令后取出磁盘,至此应急盘制作完毕。

  三、将BOOT盘插入A机的驱动器,并修改A机的BIOS参数,使机器从A驱开始引导。当出现“BOOT;”提示时按回车键,直到机器提示要插入ROOT盘时,再将BOOT盘取出,插入ROOT盘并回车,一直等到出现“#”提示符为止。然后依次输入以下命令:

  mount /dev/hd0root /mnt

  mount /dev/fd0135ds18 /tmp

  cp /tmp/passwd /mnt/etc/passwd

  cp /tmp/shadow /mnt/etc/shadow

  cp /tmp/root /mnt/tcb/files/auth/r/root

  cd

  umount /dev/fd0135ds18

  umount /dev/hd0root

  四、将软盘从A机取出,重新启动A机,并将BIOS改为从硬盘引导。当机器正常进入签到画面时,使用B机的root用户密码即可以进行root用户签到。

  经过以上步骤即可以完全解决root用户密码失效的问题。

  目前SCO UNIX系统被大量应用于银行、电信、保险、证券、铁路等行业,所有机器中存放的程序和数据都是相当重要的。在对机器进行任何处理时都要充分保证数据的完整性,如果数据损坏或丢失,后果将是灾难性的;另外这些场所使用的机器如果出现任何意外,其所允许的修复时间都是很有限的,因此所有的修复工作都必须在极短时间内完成。本文所介绍的方法,实施起来方便、快捷、安全,完全符合以上的要求,因此它是处理root用户密码失效问题的有效方法。

 smartlaofox 回复于:2003-04-08 07:53:23
  版主啊,这样的话是不是A机上的其他用户数据将不正确啊,假如我A机有一个用户epr,B机没有epr这个用户,那A机上的epr用户可以正常登录吗?

 凝嫣 回复于:2003-04-08 08:05:57
楼上的问得有道理,呵呵:p

 htldm 回复于:2003-04-08 08:17:36
其实没必要拷贝B机的shadow和passwd,软盘引导完毕
# mv /mnt/etc/shadow /mnt/etc/shadow.old
重启后,原有用户就都可以进入了。
#mv /etc/shadow.old /etc/shadow
#passwd  root 重设密码

 海德 回复于:2003-04-08 10:15:48


 lsw 回复于:2003-04-08 10:22:59
好。

 smartlaofox 回复于:2003-04-08 13:58:49
[quote:7b41992747="htldm"]其实没必要拷贝B机的shadow和passwd,软盘引导完毕
# mv /mnt/etc/shadow /mnt/etc/shadow.old
重启后,原有用户就都可以进入了。
#mv /etc/shadow.old /etc/shadow
#passwd  root 重设密码[/quote:7b41992747]
重起后不要root的密码了吗?

 htldm 回复于:2003-04-08 14:04:57
是的。你可以测试一下。

 smartlaofox 回复于:2003-04-08 14:14:14
好的,我将试试

谢谢!

 smartlaofox 回复于:2003-04-08 14:22:41
还有一个问题,如果不用COPY B机的passwd和shadow文件,那么,我们可不可以在软盘引导后在#下修改A机下的/etc/passwdt和shadow文件中相应的字段来达到相同的目的?

 htldm 回复于:2003-04-08 20:09:22
可以!就是麻烦点。呵呵。

 在天飞龙 回复于:2003-04-08 22:06:28
SCO OpenServer 5 的大漏洞 

SCO UNIX 的大BUG!任何用户都可以破坏系统

sco unix有一个大bug
1.进入一个你可以写的目录。
2. ln /etc/shadow debug.log
3. /etc/sysadm.d/bin/userOsa >>bab
............................
则你的/etc/shadow文件已经被覆盖。任何人可以以任何帐户登录无须密码.
若第二步改为ln /etc/passwd debug.log 则谁也登不上来了!
>>bab 是任意敲入的
..........................是程序的显示
注意整个过程中不要离开当前可写目录!
已在unix 5.0.5 &5.0.4上验证。

原理: 

SCO /etc/sysadm.d/bin/userOsa 这个程序在运行时会生成一个名叫
debug.log的文件这个文件用户属于root 组属于auth
与shadow文件的一致,而且此程序有BUG不会检查用户权限,因此可以覆盖任何文件,包括passwd和shadow.你在一个可写目录中建立连接(ln命令)将某个文件指向debug.log文件运行userOsa时它将出错信息写入log文件时实际上就覆盖了那个你想破坏的文件! 

对于一些机器可以,但是有些SCO机器不知为何

如果SHADOW或PASSWORD文件不能联结,对于一些机器可以,但是有些SCO机器不知为何,不允许我LN这两个文件,报错,不知为何?
答:理论上只要对目录/etc 有读权限,就可以链接。在此例中估计必须用硬链接,若用符号链接ln -s 会因为权限问题未遂。 
答复者:Mike Wolf

防范对策

chmod o-x userOsa即可

 feisher 回复于:2003-07-15 16:08:54
SCSI的硬盘如何解决

 dong181 回复于:2003-07-16 20:40:56
非常感谢,不用我重装系统. 

 geekchi 回复于:2003-07-17 12:31:02
不一样的SCSI硬盘,mount 时要报错。请教应怎么办?

 bin8688 回复于:2003-09-09 00:19:44
good!

 inzaghi_lzhj 回复于:2003-09-09 09:07:32
我顶!!!!!

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网