RedHat Linux口令恢复任我行

2016-01-29 19:14 8 1 收藏

RedHat Linux口令恢复任我行,RedHat Linux口令恢复任我行

【 tulaoshi.com - Linux 】

  有许多原因可能导致用户口令的遗失,这对系统管理员而言,可能不是一个问题,只要以Root账号登录,再用Passwd命令更改用户口令就可以了。可是,如果丢失的是Root口令,这又怎么办?难道就束手无策、重装系统?这样不仅费时费力,而且还可能造成重要数据的丢失和应用程序的破坏。显然这种做法并不可取。



  其实,恢复Linux口令并不是一件很难的事情。Linux口令的恢复有2个方面: 一是给用户产生一个新的口令,使用户能够重新登录系统; 二是找出用户原来的口令,而不是以新口令代替旧口令。一般情况下,用户只希望能够再次登录进入系统即可,而不是获得原口令,也就是这里所说的第一个方面,相对而言,这方面要容易实现得多。

  Linux口令的恢复是系统维护的一种典型情况,本文中提到的一些方法从系统维护的角度出发,不仅适用于Linux口令的恢复,也适用于因为某些原因不能正常登录进系统时的维护工作,对Linux系统的管理维护有参考作用。

  本文中所有提到的恢复Linux口令的方法均在实践中测试通过,所用的Linux系统主要是RedHat Linux For x86,在实际口令恢复中,可能因Linux发行商、发行版本、处理器和硬盘等的不同而略有不同,但相差不会很大。其中一些方法也适用于其他Unix系统口令的恢复,甚至Windows等操作系统口令的恢复。

  一、口令恢复途径

  下面恢复Linux口令的途径适用于不同的情况,难易度各有不同。

  1. 紧急修复模式
  在无法启动Linux时,常常需要通过磁盘、光盘或其他方法启动Linux基本环境,进入Linux紧急修复模式。在紧急修复模式下,能够访问硬盘上的Linux系统文件,恢复系统正常,包括恢复口令等。

  2. 单用户模式
  Linux有多个运行级别,如单用户模式、无网络服务多用户模式、完全多用户模式和X11图形多用户模式等运行级别。单用户模式是指系统运行在惟一用户——Root用户模式下,进入此模式时,系统只是加载了可运行的最低软硬件配置,以Root直接进入,没有口令验证。

  在单用户模式下,可以用passwd命令来更改用户口令,也可以直接对/etc/passwd等账户口令文件进行读写,达到口令恢复的目的。

  3. 修改口令文件
  Linux口令文件有2种保存形式: 一种是把账户信息和经加密后的口令密文都保存在/etc/passwd文件中,此形式不够安全,在早期Unix中采用;另一种是把账户信息和口令密文分开存放,/etc/passwd文件用于保存账户信息,/etc/shadow文件用于保存口令密文。至于采用何种保存形式和加密算法,可以用/usr/sbin/authconfig程序来设置。

  对于没有shadow的passwd文件,只要把相应账户的口令字段删除,即可不经口令验证直接登录系统,例如某passwd文件的root账户如下:
  root:$1$dPTzzYkE$Zd3Vs6yCu
  VH8RC1gwKXX01:0:0:root:/root:/bin/bash

  将其修改为:
  root::0:0:root:/root:/bin/bash
 
  如果是有shadow的passwd文件,其口令字段以“x”字母代替,口令密文保存在Shadow文件中。可以删除passwd文件中的“x”字母,或者删除shadow文件中的口令密文,都可以使相应用户不经口令验证直接登录系统,达到口令恢复的目的。

  4. 口令还原
  有些情况下,想找出被丢失的原始口令,而不是登录系统去产生一个新的口令。但是,Linux使用的是DES(加密函数式是Crypt)或MD5(函数式是Md)加密算法,由于计算量之大,它们几乎都没有可能被逆向破解。DES口令密文是有13个ASCII字符的字符串,而MD5口令密文的启始字符总是“$1$”。

  虽然很难逆向破解,但要通过口令密文找出原始口令也不是不可能的,从一个字典或一些字符的排列组合中提取字符串,提取出来的字符串用同样的加密算法加密,将产生的密文与口令密文比较,如果一致则表明该字符串即为原始口令,从而达到口令还原的目的。如果口令很复杂,使用此种方法也是很难找出原始口令的,但用户对自己口令的长度、采用的字符等会有大致的印象,这使得成功的可能性会更大。

  破解Linux口令的工具有很多,如John the Ripper、Crack by Alex Muffett和Cracker Jack等等,其中John the Ripper的功能最为强大,速度也最快。

  5. 系统攻击破解
  如果能够关闭电源重新启动系统,那么很容易恢复口令,但有时Linux系统上运行着非常重要的服务,不能直接关闭电源,否则会对系统和数据产生破坏。

  像这种在系统运行的情况下获得系统口令,往往是比较困难的,但由于系统管理员对操作系统和应用程序的版本、配置等情况有着全面的了解,加上没有防火墙和入侵检测系统等的防护,那么发现和利用系统漏洞的机会还是不少的,口令恢复的成功机会还是有的。
 
  这方面涉及的内容太复杂,在此就不多做介绍了。如果确有这方面的需求,最好由专业人士来帮忙,以免破坏系统和数据。

  二、如何进入紧急修复模式

  由于软

来源:http://www.tulaoshi.com/n/20160129/1508836.html

延伸阅读
标签: 电脑入门
ifconfig是Linux显示网络设备的命令,能够设置网络设备的状态,但在RedHat Linux 5系统中,有时会遇到ifconfig命令无法使用的情况,下面图老师小编就给大家介绍下RedHat Linux 5无法使用ifconfig命令的解决方法。 在终端使用一些命令,如: ifcinfig 查看本机的IP,发现不能使用此命令,提示说command not found,这该怎么办呢 想想肯定是...
    目前许多管理人员在网络管理中,非常头疼的问题就是为用户进行安装操作系统。笔者曾经在多家企业任职,许多企业为客户端所配置的基本上很少有带CD-ROM并且也不可能所有的客户端都存在着操作系统安装光盘。由此笔者经常发现许多维护人员经常手拿光驱、光盘来为用户重新进行或升级操作系统。      &...
  随着Linux在我国的持续升温,想学习它的人也越来越多。但是绝大多数的人早已习惯了傻瓜式操作的Windows,要他们一下子就适应Linux的操作,确实有很大的困难。特别是无数的Linux命令,对于那些连DOS都没有接触过的人来说,实在是不可忍受,这就为Linux在我国的推广带来了很大的局限性。因此在绝大多数情况下,Linux都是以一种高端操...
最近想学习整理一下网络方面的知识,所以安装Windows 2003和Linux7.3双启动,但万事都不一帆风顺,也感谢这些“坎坷经历”,因为它给我们知识,给我们前进的动力!……. 我先安装Windows 2003,分区是一个10G的主分区,10G的扩展分区,其他空闲;再安装Linux,安装在空闲空间,分区是安装推荐,具体记不清了,好象Linux自动把Linux分区当作硬盘...
如果你忘记了你的MYSQL的root口令的话,你可以通过下面的过程恢复。 1. 向mysqld server 发送kill命令关掉mysqld server(不是 kill -9),存放进程ID的文件通常在MYSQL的数据库所在的目录中。  kill `cat /mysql-data-directory/hostname.pid` 你必须是UNIX的root用户或者是你所运行的SERVER上的同等用户,才能执行这...