UnixWare 7 root口令遗失的解决方法

来源:百度文库 编辑:神马文学网 时间:2024/07/03 09:17:03
UnixWare 7 root口令遗失的解决方法
作者:李建国  出处:Unix爱好者家园unix-cd.com  更新时间: 2004年09月02日
SCO UnixWare 7操作系统在银行、证券、电信等部门的关键业务中有着广泛的应用。由于各种原因,有时会出现root用户口令遗失的情况,如果不能正确处理,就只能重新安装系统。这样,一方面浪费了大量的时间,并造成业务中断;另一方面还可能引起数据丢失,造成无法挽回的损失。本文介绍笔者在工作实践中总结出的一套解决root用户口令遗失的方法。该方法的基本思路是先进入系统,然后修改或删除root用户口令。 进入系统 在遗失root用户口令的情况下,根据日常的准备工作,有4种可以进入系统的方法。 1. 应急恢复盘法 应急恢复盘由两张软盘组成。先后插入两张应急恢复盘,在出现提示“The hard disk is sane, Press ENTER to continue”时,按回车键,系统显示如下菜单: Emergency Recovery Menu Mount File System Umount File System Access UnixWare Shell Restore Disk(s) Reboot 选择Mount File System后,系统将硬盘的根文件系统装载到/mnt目录下。再选择Access UnixWare Shell,系统出现#提示符,进入系统成功。 2. 使用boot盘法 首先用第一张引导软盘引导系统(对支持光驱引导的机器也可以从安装光盘引导系统),并根据提示插入第二张软盘。然后按以下步骤执行: ● 按F8推迟许可软件,即不输入license号。 ● 加载UnixWare HBA 盘。 ● 如果有必要进入DCU进行设置(或按F10继续)。 ● 当出现“System node name”提示时,插入安装光盘(若从光盘引导则不必插入光盘)。 ● 按Ctrl+Alt+Esc组合键切换到虚屏VT0(按Ctrl+Alt+F1组合键可切换回系统安装界面)。 ● 在VT0中,执行下面的命令安装CD-ROM: mount -F cdfs -r /dev/cdrom1 /cd-rom ● 注册vxfs文件系统的模数(UnixWare 7 根文件系统的类型通常为vxfs): modreg 4 vxfs ● 加载vxfs文件系统的模数: modadmin -l /cd-rom/.extra.d/etc/conf/mod.d/vxfs 如果系统返回以下信息,表示加载成功: UX:modadmin:INFO:module /cd-rom/ .extra.d/etc/conf/mod.d/vxfs loaded,ID=1 ● 检查硬盘的根文件系统。假设系统硬盘使用的控制器为0,bus为 0,ID为 0,LUN为0,root的分片为1: /cd-rom/.extra.d/etc/fs/vxfs/fsck -F vxfs /dev/dsk/c0b0t0d0s1 ● 将硬盘的根文件系统安装到/mnt目录下: mount -F vxfs /dev/dsk/c0b0t0d0s1 /mnt ● 为使命令正确运行,重新设定搜索路径: PATH=:/usr/bin:/sbin:/usr/sbin; export PATH 3. 第二硬盘法 ● 将遗失口令的系统硬盘取下,将硬盘跳线调整为Slave,加挂到另一个UnixWare 7系统中。 ● 检查第二硬盘的根文件系统。假设系统硬盘使用的控制器为0,bus为 0,ID为 1,LUN为0,root的分片为1: fsck -F vxfs /dev/dsk/c0b0t1d0s1 ● 将第二硬盘的根文件系统安装到/mnt下: mount -F vxfs /dev/dsk/c0b0t1d0s1 /mnt 4. 系统拥有者(System Owner)注册法 在安装UnixWare 7系统时,有一个用户(缺省UID为101)被分派为系统拥有者,它具有一般用户所没有的一些特殊权限,可以通过它来修改root用户的口令。如果已知它的口令,以它的用户名注册到系统中即可。 修改/删除口令 进入系统后,根据进入方法不同,一般有5种方法可以实现修改/删除口令。 1. 编辑文件法 ● 以1、2、3方法进入系统。 ● 编辑shadow文件,将root用户的加密口令删除,然后存盘退出: #vi /mnt/etc/shadow ● 使安全性数据库一致: #chroot /mnt creatiadb ● 重新引导系统(对以方法3进入系统的,要将此硬盘还原后重新引导,下同)。再用root用户注册时,系统将不提示输入口令而直接进入系统,然后为root用户定义一个新口令即可。 2. 应用命令法 ● 以1、2、3方法进入系统。 ● 用passwd命令直接修改root用户的口令: #chroot /mnt passwd root ● 重新引导系统。再用root用户注册时,系统将不提示输入口令而直接进入系统,然后为root用户重新添加一个口令即可。 3. 文件覆盖法 笔者在实践中发现,在UnixWare 7系统中用户的注册操作完全是由/etc/security/ia/master文件控制的。因此,我们可以采用“偷梁换柱”的办法,用已知口令的系统的master文件来替换遗失口令系统的master文件。步骤如下: ● 以1、2、3方法进入系统。 ● 备份系统的master文件: #cp /mnt/etc/security/ia/master /mnt/etc/security/ia/master.old ● 从另外已知root口令的UnixWare 7系统中拷贝master文件到软盘: ls /etc/security/ia/master|cpio -ocv >/dev/fd0 ● 将软盘中的master文件拷贝到本系统中: #cd /mnt/etc/security/ia #cpio -icvBdum