当前位置: 首页 > 图文教程 > 服务器 > Linux服务器 > 恢复Linux口令的五种方法

Linux服务器
Linux上双网卡绑定方法(Suse9SP3)
Linux操作系统调优参数的意义
Linux下使用SSH客户端及其Sftp文件传送
教你恢复被误删除的Linux文件
SQL Server注入大全及防御
Linux无法解析域名的解决办法
Linux系统下安装和配置MyEclipse的方法
Ubuntu下VirtualBox 1.4.0设置文件共享
Windows与Linux系统共享StarDict字典文件
修改Linux下相关的登陆信息
Windows通过SecureCRT远程登录Linux主机
Linux操作系统如何修改SWAP交换区的大小
Linux操作系统下为Apache目录添加密码
Linux时间设置与同步(NTP)
Linux内核补丁AMD旁路转换缓冲(TLB)错误
Linux架设DHCP服务器的方法
Fedora 8下Apache配置与管理
Linux操作系统下用单网卡捆绑双IP的方法
Ubuntu Linux系统环境变量配置文件
SUSE Linux中将Tomcat作为Service运行

Linux服务器 中的 恢复Linux口令的五种方法


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-04   浏览: 142 ::
收藏到网摘: n/a

  在我们应用Linux系统时,如果你有一段时间没有进行登陆了,你丢失了Root口令,这怎么办?难道就束手无策、重装系统?怎样才能恢复Linux口令呢?本文为你讲解恢复Linux口令的知识。

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

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

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

  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系统上运行着非常重要的服务,不能直接关闭电源,否则会对系统和数据产生破坏。

  像这种在系统运行的情况下获得系统口令,往往是比较困难的,但由于系统管理员对操作系统和应用程序的版本、配置等情况有着全面的了解,加上没有防火墙和入侵检测系统等的防护,那么发现和利用系统漏洞的机会还是不少的,口令恢复的成功机会还是有的。

  这方面涉及的内容太复杂,在此就不多做介绍了。如果确有这方面的需求,最好由专业人士来帮忙,以免破坏系统和数据。

  轻松恢复Linux口令,让你不用犯愁。