在之前的文章中我们向大家介绍了XP系统下使用Vista自带屏保程序的方法,不知道大家都看过了没有呢?现在我们要向大家介绍的就是如何利用DOS命令获取UNIX管理员口令,下面大家就跟着我们5636网吧联盟的网吧系统栏目一起去看看吧!
如果一台COMPAQDESKPROXL/466服务器,主板内含PCISCSI-2控制器一个,上接富士通硬盘一只,该硬盘主要参数为:1041柱面,64头,32扇。硬盘上装有SCOUNIXSystemV/386Release3.2operatingsystemVersion4.2。其超级用户口令被忘记。
首先,我们需要找一台安装了DOS的计算机,制作一张DOS系统盘,并在系统盘上拷贝一个DEBUG.EXE文件。
C:\DOS>;format/sa:
C:\DOS>;copydebug.exea:
接着将该盘插入COMPAQ服务器A驱,开机启动DOS操作系统,执行DEBUG命令。
A:\>;debug
编写一段app来读出硬盘0柱0头1扇区的内容。这个扇区存放的是主引导记录,读出它是为了确定SCOUNIX分区的起始位置。app是调用中断13H实现的,以后我们还要反复用到它,当然入口参数将随所读内容物理地址的变化而变化。
-a
2039:0100MOVAX,0201
2039:0103MOVBX,1000
2039:0106MOVCX,0001
2039:0109MOVDX,0080
2039:010CINT13
2039:010EINT20
2039:0110
-g
Programterminatednormally
我们可以用dump命令查看被读到内存里的扇区内容。从偏移11BEH处开始是分区表,其中类型标志字节为63H的分区是SCOUNIX分区。该分区起始于1柱面0磁头1扇。接着读出UNIX根文件系统i-node表的第一个扇区,以确定根目录的物理位置。根据UNIX分区起始位置可知根文件系统始于2柱0头1扇。并且,由于2柱0头1扇是引导块,2扇是超级块,3、4扇为间隔,所以i-node表必定始于第5扇。
可以用app读出它(CX的赋值应改为0205)。读出后用dump命令查看偏移1040H至107FH的64个字节,这就是2号i-node,即根目录的i-node。然后根据i-node计算根目录在硬盘上的物理地址。
DA0500H表示第一个数据块地址。由于其它12个数据块地址均为0,所以可断定根目录在硬盘上只占了一个数据块。现在我们必须依据DA0500H计算出这个数据块存放在硬盘的第几柱面、第几磁头、第几扇区。计算公式如下:
C=TRUNC(P/(H*S))
C1=C0+C
H1=TRUNC((P-C*H*S)/S)
S1=P-C*H*S-H1*S+1
将DA0500H代入上述公式,并根据H=64,S=32,C0=2,可算出C1=3,H1=29,S1=21。
因此根目录在硬盘上的物理地址为:3柱面29头21扇。用app把它读出来(CX和DX的赋值应分别改为0315和1D80)。读出后用dump命令查看,可以发现偏移1050H至105FH是/etc目录的i-node号和文件名,其中i-node号为22H,即34D。因为每个扇区有8个i-node,所以34号i-node必定在2柱面0头9扇。
用app读出它(CX和DX的赋值分别改为0209和0080)。用dump命令可看出偏移1040H至107FH正是/etc目录的i-node。我们把它的数据块也读出来。先计算第一个数据块的物理地址。将2D0700H代入公式,算出/etc第一个数据块物理地址是3柱面50头27扇。
用app读出它(CX和DX的赋值分别改为031B和3280)。用dump命令可看出偏移11A0H至11AFH是/etc目录下的passwd文件名。我们用enter命令把它改成zls,然后再运行app(AX的赋值应改为0301)。退出DEBUG命令。
然后取出软盘,重启机器,引导UNIX操作系统。按照引导顺序,UNIX显示出硬件配置信息后就该提问超级用户口令了,最好先设置一个新的超级用户口令。首先必须恢复passwd文件名。
#mv/etc/zls/etc/passwd
然后,就可以用/bin/passwd命令设置新的超级用户口令了。
利用DOS命令获取UNIX管理员口令的方法就是这样了,大家如果还有什么想知道的地方可以去本站的网吧系统栏目去查找,如果找不到相关内容,可以留言一起讨论,当然如果大家有什么好的资料也可以和我们一起分享哦!