用DOS命令来破除UNIX系统管理员口令(1)网络服务器 电脑资料_第1页
用DOS命令来破除UNIX系统管理员口令(1)网络服务器 电脑资料_第2页
用DOS命令来破除UNIX系统管理员口令(1)网络服务器 电脑资料_第3页
用DOS命令来破除UNIX系统管理员口令(1)网络服务器 电脑资料_第4页
用DOS命令来破除UNIX系统管理员口令(1)网络服务器 电脑资料_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

用DOS命令来破除UNIX系统管理员口令(1)网络服务器 电脑资料 对于广大的SCO UNIX 操作系统管理员来说,最不可原谅的过失之一就是忘记了管理员口令(即超级用户口令), 对于广大的SCOUNIX操作系统管理员来说,最不可原谅的过失之一就是忘记了管理员口令(即超级用户口令)。这个过失会导致极其严重的后果,对此凡是具备 UNIX操作系统常识的人都应该知道。然而令人遗憾的是,时至今日铸错者依然大有人在。看来,对他们固然要责备,但既然问题客观存在,我们就总还须面对现实,想办法去解决才是。 长期以来,许多人就超级用户口令被忘记的问题发表了各种看法。 _认为,一旦忘记了超级用户口令,只能重装操作系统,此外别无它法。另 _则坚决反对这种“重装论”,他们提出了一些经过成功实践的解决方案,使得“重装论”者败下阵来。现在我们可以肯定地说,忘记超级用户口令是有办法解决的。但同时我们也不得不承认,现行的解决方案有很大的局限性,这些局限性决定了现有方案无论怎样变化和发展也不可能成为一种有着强大生命力的最 _的解决方案。 传统解决方案的局限性 上面已经谈到,目前有多种针对超级用户口令被忘记问题的解决方案。为了叙述上的方便,本文将这些方案统称为传统解决方案。传统方案乍看起来似乎各不相同,但经过认真分析和归纳后就会发现,它们实际上大同小异,都有以下共同点: 1. 必须有一套(两张)Emergency Boot Floppy (紧急启动软盘)。这套软盘均为文件系统格式,必须在SCO UNIX上制作,并且在不同类型机器上制作的紧急启动软盘相互不能通用。 2. 用紧急启动软盘启动后,将硬盘根文件系统mount到某个目录下(一般为/mnt目录),然后进入该目录(即进入硬盘根文件系统的根目录),修改相关目录下与超级用户口令有关的信息(各种方案的不同之处主要体现于此)。最后回到软盘根目录,拆卸/dev/hd0root,重启机器。 这些共同点实际上反映了传统方案的局限性: 一、操作平台局限性:要求自始至终必须在SCO UNIX操作系统平台上实施。 二、操作工具局限性:对紧急启动软盘的依赖性太大。万一软盘发生损毁,必须找一台类型相同的机器再制作一套,这就是前面所说的“专盘专用”的限制。 三、操作对象局限性:必须依靠硬盘根文件系统的支持。即操作者与修改对象(指与超级用户口令有关的信息)被文件系统隔开,操作者不能直接修改对象,只能调用文件系统提供的服务修改。这种方式本是信息科学中倡导的层次化思想的一种体现,在正常情况下应予称道;但任何事物都是有两面性的,在非常情况下 ? 诸如解决忘记超级用户口令这一类问题时 ? 该方式反而有可能带来麻烦。 三大局限性说明了传统解决方案可行性的脆弱和狭窄,也决定了它们作为凌驾于文件系统之上的高层方案所必然具有的弊端。于是,打破这些局限性,探索出一种全新的解决方案,就成为了摆在一切UNIX研究者面前的新课题。 新课题 所谓新课题,就是找到一种能够突破传统方案局限性的新方案。究竟从何处下手呢? 让我们再来看一看三大局限性。 操作平台局限性似乎不好突破,因为其它操作系统识别不了UNIX的文件系统格式。 操作工具局限性好象就更难了,因为紧急启动软盘既要在UNIX上制作,又要在UNIX上使用,所以如果操作平台局限性突破不了,它就更突破不了。 最后看看操作对象局限性。操作对象完全由文件系统管理,操作者必须通过文件系统访问它们。万一文件系统崩溃,那么即使它下面的文件完好无损,操作者也只能认为这些文件已全部丢失 ? 因为文件系统无法访问(例如mount不上来)。其实这个时候还是有办法找到那些文件的,方法就是直接访问物理硬盘。道理很简单:就本质而言,文件系统只不过是一个构筑于物理硬盘之上的逻辑组织,平时我们是通过它来访问物理硬盘的;现在这个组织寿终正寝,不能再为我们服务了,于是我们只好“自己动手,丰衣足食”。直接访问物理硬盘不但可以使文件“失”而复得,而且还有另外一个重要意义 ? 突破了操作对象局限性。 操作对象局限性一旦突破,我们就会惊奇地发现突破另外两大局限性简直可以说是顺理成章了。因为虽然其它操作系统识别不了UNIX的文件系统格式,但在任何操作系统上,我们都可以访问物理硬盘;而只要是带有访问物理硬盘功能的软件,都可以成为我们的操作工具。 现在我们要做的仅仅是:找一个大家最熟悉的操作系统和一个最易寻觅的可以访问物理硬盘的软件。 大家最熟悉的操作系统无疑是DOS。可以访问物理硬盘的软件很多,但最易寻觅的莫过DEBUG.EXE。所谓最易寻觅,是因为DEBUG是DOS本身的一条外部命令,可以说只要是在安装了DOS的机器上都可以找到它。对DEBUG略知一二的人可能会指出该命令并没有提供访问物理硬盘的选项,但请不要忘记 DEBUG是DOS提供给用户的一个汇编语言调试程序,我们完全可以利用它编写、调试和执行一个汇编小程序去访问物理硬盘。应该说,这对一个能够取得系统管理员身份的人并不困难。 综上所述,在DOS上运行DEBUG来破除UNIX管理员口令,这就是本文提出的解决SCO UNIX超级用户口令被忘记问题的新方案。 新方案的应用 新方案已经提出,下面我们来看看它是如何应用于实践的。 我们假设一台装有SCO OpenServer Release 5的超级用户口令被忘记。 首先,随便找一台安装了DOS的计算机,制作一张DOS系统盘,并在系统盘上拷贝一个DEBUG.EXE文件。 COSformat/s a: COScopy debug.exe a: 然后将该盘插入PAQ服务器A驱,开机启动DOS操作系统,执行DEBUG命令。A:debug 现在我们就编写一段汇编语言程序,来读出硬盘0柱0头1扇区的内容。该扇区存放的是主引导记录,读出它是为了确定SCO UNIX分区的起始位置。该程序是调用中断13H实现的,以后我们还要反复用到它,当然入口参数将随所读内容物理地址的变化而变化。 -a 2039:0100 MOV AX,0201 2039:0103 MOV BX,1000 2039:0106 MOV CX,0001 2039:0109 MOV DX,0080 2039:010C INT 13 2039:010E INT 20 2039:0110 -g Program terminated normally -d 1180 2039:1180 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 . 2039:1190 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 . 2039:11A0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 . 2039:11B0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 . 2039:11C0 01 6E 06 3F 20 96 00 70-03 00 00 48 01 00 00 00 .n.? .p.H. 2039:11D0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 . 2039:11E0 01 97 05 3F E0 FF 00 B8-04 00 00 C8 1B 00 80 00 .c?. 2039:11F0 01 01 63 3F 20 6D 00 08-00 00 00 68 03 00 55 AA .c? m.h.U. 从分区表中可看出硬盘上共有三个分区,其中类型标志字节为 63H的分区是SCO UNIX分区, 下面,读出UNIX根文件系统i-node表的第一个扇区,以确定根目录的位置。 先读 i-node 表。由于UNIX分区始于1柱0头1扇,所以根文件系统必定始于2柱0头1扇。并且,由于2柱0头1扇是引导块,2扇是专用块,3、4扇为间隔,所以 i-node 表必定始于第5扇。 -a 2039:0100 MOV AX,0201 2039:0103 MOV BX,1000 2039:0106 MOV CX,0205 2039:0109 MOV DX,0080 2039:010C INT 13 2039:010E INT 20 2039:0110 -g Program terminated normally -d 1000 2039:1000 00 80 00 00 00 00 00 00-00 00 00 00 00 00 00 00 . 2039:1010 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 . 2039:1020 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 . 2039:1030 00 00 00 00 0A 4B 32 33-0A 4B 32 33 0A 4B 32 33 .K23.K23.K23 2039:1040 ED 41 10 00 00 00 02 00-80 02 00 00 DA 05 00 00 .A. 2039:1050 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 . 2039:1060 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 . 2039:1070 00 00 00 00 E1 83 C5 35-46 82 C5 35 46 82 C5 35 .5F.5F.5 现在我们看到的是 i-node 表的前两项。从偏移1040H至107FH的64个字节是2号i-node ,即根目录的 i-node 。 下面我们就根据 i-node 计算根目录在硬盘上的物理地址。 我们从偏移1040H看起: ED41H表示文件类型与存取权限为“drwxr-xr-x”; 1000H表示文件连结数为16; 0000H表示文件属主ID为 0; 0200H表示文件组ID为 2; 80020000H表示文件字节数为 640个; DA0500H表示第一个数据块地址。由于其它12个数据块地址均为 0,所以可断定根目录在硬盘上只占了一个数据块。现在我们必须依据DA0500H计算出这个数据块存放在硬盘的第几柱面、第几磁头、第几扇区。如何计算?作者

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论