a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 108|回复: 0

[红旗认证] 红旗认证辅导:RedHatLinux系统下口令恢复任我行

[复制链接]
发表于 2012-8-4 12:16:06 | 显示全部楼层 |阅读模式
有良多原因可能导致用户口令的遗失踪,这对系统打点员而言,可能不是一个问题,只要以Root账号登录,再用Passwd呼吁更改用户口令就可以了。可是,如不美观丢失踪的是Root口令,这又怎么办?莫非就一筹莫展、重装系统?这样不仅费时吃力,而且还可能造成主要数据的丢失踪和应用轨范的破损。显然这种做法并不采纳。 % x8 _+ A5 N- ?  D0 @! U3 }) i
  其实,恢复Linux口令并不是一件很难的工作。Linux口令的恢复有2个方面: 一是给用户发生一个新的口令,使用户能够从头登录系统; 二是找出用户原本的口令,而不是以新口令庖代旧口令。一般情形下,用户只但愿能够再次登录进入系统即可,而不是获得原口令,也就是这里所说的第一个方面,相对而言,这方面要轻易实现得多。2 l* E- p1 \# u' r+ c9 l( |
  Linux口令的恢复是系统维护的一种典型情形,本文中提到的一些体例从系统维护的角度出发,不仅合用于Linux口令的恢复,也合用于因为某些原因不能正常登录进系统时的维护工作,对Linux系统的打点维护有参考浸染。
$ j( z- a& C. u8 q2 ]3 @$ k- N  本文中所有提到的恢复Linux口令的体例均在实践中测试经由过程,所用的Linux系统主若是RedHat Linux For x86,在实杜口令恢复中,可能因Linux刊行商、刊行版本、措置器和硬盘等的分歧而略有分歧,但相差不会很大。其一一些体例也合用于其他Unix系统口令的恢复,甚至Windows等操作系统口令的恢复。- j5 G/ Z8 d* `* _
  一、口令恢复路子
- f/ p. U& n: y4 q  下面恢复Linux口令的路子合用于分歧的情形,难易度各有分歧。: w5 E& o- |2 J( k% k' @
  1. 紧迫修复模式4 y' C8 r  h! D& L3 M" |, \
  在无法启动Linux时,经常需要经由过程磁盘、光盘或其他体例启动Linux根基情形,进入Linux紧迫修复模式。在紧迫修复模式下,能够访谒硬盘上的Linux系统文件,恢复系统正常,搜罗恢复口令等。- |8 r( n& R3 f8 p3 _1 S* c0 ?
  2. 单用户模式 Linux有多个运行级别,如单用户模式、无收集处事多用户模式、完全多用户模式和X11图形多用户模式等运行级别。单用户模式是指系统运行在惟一用户——Root用户模式下,进入此模式时,系统只是加载了可运行的最低软硬件设置装备摆设,以Root直接进入,没有口令验证。
! z( K- D0 ?2 Z& k: `  在单用户模式下,可以用passwd呼吁来更改用户口令,也可以直接对/etc/passwd等账户口令文件进行读写,达到口令恢复的目的。$ f1 Z7 a+ ~& j5 o% G/ k3 |
  3. 改削口令文件0 x* e; n7 J$ r; l/ y; W% J
  Linux口令文件有2种保留形式: 一种是把账户信息和经加密后的口令密文都保留在/etc/passwd文件中,此形式不够平安,在早期Unix中采用;另一种是把账户信息和口令密文分隔存放,/etc/passwd文件用于保留账户信息,/etc/shadow文件用于保留口令密文。至于采用何种保留形式和加密算法,可以用/usr/sbin/authconfig轨范来设置。
# @( [( `2 L  _8 B# x% g+ k  对于没有shadow的passwd文件,只要把响应账户的口令字段删除,即可不经口令验证直接登录系统,例如某passwd文件的root账户如下:
! t. w" e7 D4 q0 N; E  root:$1$dPTzzYkE$Zd3Vs6yCu6 h# h. ?! G% u  i0 o4 n
  VH8RC1gwKXX01:0:0:root:/root:/bin/bash7 O: w# z+ g! q5 B% K# N2 R
  将其改削为:: l/ N. J( h3 w1 `/ ^
  root::0:0:root:/root:/bin/bash: D+ [2 J2 q; J/ m, W: B
  如不美观是有shadow的passwd文件,其口令字段以“x”字母庖代,口令密文保留在Shadow文件中。可以删除passwd文件中的“x”字母,或者删除shadow文件中的口令密文,都可以使响应用户不经口令验证直接登录系统,达到口令恢复的目的。
2 }/ t+ n) [" S9 p# {: C/ D/ X  4. 口令还原7 a, k2 {# r3 N: h7 C
  有些情形下,想找出被丢失踪的原始口令,而不是登录系统去发生一个新的口令。可是,Linux使用的是DES(加密函数式是Crypt)或MD5(函数式是Md)加密算法,因为计较劲之大,它们几乎都没有可能被逆向破解。DES口令密文是有13个ASCII字符的字符串,而MD5口令密文的启始字符老是“$1$”。
! E5 ^6 Z8 m- E  B7 {+ p* y  虽然很难逆向破解,但要经由过程口令密文找出原始口令也不是不成能的,从一个字典或一些字符的枚举组合中提取字符串,提掏出来的字符串用同样的加密算法加密,将发生的密文与口令密文斗劲,如不美观一致则剖明该字符串即为原始口令,从而达到口令还原的目的。如不美观口令很复杂,使用此种体例也是很难找出原始口令的,但用户对自己口令的长度、采用的字符等会有大致的印象,这使得成功的可能性会更大。. ~- Q$ O9 ]( x+ R
  破解Linux口令的工具有良多,如John the Ripper、Crack by Alex Muffett和Cracker Jack等等,其中John the Ripper的功能最为壮大,速度也最快。
4 D5 x) N" P1 Z/ K7 {. F4 v  5. 系统抨击袭击破解& |' c) E- G! U) |- c; E
  如不美观能够封锁电源从头启动系统,那么很轻易恢复口令,但有时Linux系统上运行着很是主要的处事,不能直接封锁电源,否则会对系统和数据发生破损。) C3 E) F6 Q! j9 c2 P5 y5 y
  像这种在系统运行的情形下获得系统口令,往往是斗劲坚苦的,但因为系统打点员对操作系统和应用轨范的版本、设置装备摆设等情形有着周全的体味,加膳缦慊有防火墙和入侵检测系统等的防护,那么发现和操作舷裂痕的机缘仍是不少的,口令恢复的成功机缘仍是有的。
! \: ^- y5 D3 e% c1 ?. e. S9 \9 \, k  这方面涉及的内容太复杂,在此就不多做介绍了。如不美观确有这方面的需求,最好由专业人士来辅佐,以免破损系统和数据。3 i3 ^( I7 ?9 K2 c: J3 D+ ]
  二、若何进入紧迫修复模式/ }. A/ Q* x0 A  b3 d
  因为软硬件故障、错误设置装备摆设等多种原因无法启动Linux时,需要进入紧迫修复模式,有可能解决问题,至少也能拷出主要文件。; K) g! @3 a8 Y% c3 Z% Y+ P
  进入紧迫修复模式的体例并不复杂,在boot提醒符下输入如下参数:
* g7 \) ]' P9 E5 R* ~% ]  boot: linux rescue+ E! u( }1 T% z9 J3 H6 u
  经由过程如下体例可以获得Boot提醒符。' O8 Y% {9 O: w6 L
  用Linux随盘刊行的或由boot.img文件写成的安装指导软盘指导系统,凡是这需要紧迫修复盘或安装光盘或者硬盘上的ISO文件配合使用才能指导进入紧迫修复模式。紧迫修复盘可由rescue.img文件写成或随盘刊行。在RedHat Linux 6.1往后,RedHat不再供给紧迫修复盘(安装光盘image目录下也没有rescue.img文件用来写),而是把它直接做在安装光盘上。
; i8 R) J* [. O; Y( u" r2 W/ H  用安装光盘指导系统。1 S4 d; v' y7 Y. ]
  用bootnet.img文件写成的收集指导盘或pcmcia.img文件写成的PCMCIA指导盘指导系统,此体例先要确保收集毗连正常,而且需要确定收集主机和传输类型。8 X% K, h! R. t) Q' n& ^6 J
  RedHat Linux 7.2及其往后的版本,可以选择是否要把安装在硬盘上的Linux自动考试考试加载到目录/mnt/sysimage下,否则,要用mount呼吁手工加载。
. q- y2 ~3 D# g7 o0 \& f4 f  简单几步,就进入了紧迫修复模式。提醒符呈此刻虚拟节制台VC 1和VC 2上,以便运行呼吁维护系统。用Ctrl+Alt+F1键切换到VC1,用Ctrl+Alt+F2键切换到VC 2。8 e+ @& N. {' |0 `
  如不美观选择了自动加载,用chroot呼吁,使当前操作情形变为欲修复的Linux,之后可用passwd呼吁直接更改用户口令:
+ p7 E' i# ~4 b2 R$ a  bash#chroot /mnt/sysimage  H) `3 }& K$ J7 f& i
  如不美观没有自动加载,就需运行mount呼吁加载Linux分区,并输入如下呼吁:8 \: `( O( n! K4 n+ f5 Y! {
  bash#mount -t ext3 /dev/hda5 /foo7 R8 i5 F$ O$ ^
  目录/foo是由用户自己建树的,/dev/hda5是我们欲加载的Linux分区,如不美观分区类型是ext2,那膳缦沔呼吁行中就以ext2庖代ext3。, H$ a! N/ F& y( [
  至此,就可以用chmod、vi、fsck等呼吁读写文件、维护系统,搜罗修复口令。" R/ \& T' U' n
  三、若何进入单用户模式
6 l# ^  \; X( V7 i6 @  与紧迫修复模式只能加载本机Linux尚罾υ件系统分歧,单用户模式是在本机Linux内核指导启动后进入的一个运行级别(运行级别是1),可以做内核进级、设备安装等维护工作。在系统维护时,系统打点员往往要进入单用户模式来维护系统,进入紧迫修复模式是在Linux不能启动时不得已而采用的系统维护体例。
, }" N6 F% \. T  Linux内核自行启动之后,经由过程启动轨范init来完成自己的指导过程,所以,init历程始终是第一个历程,历程编号始终为1。Init轨范有着良多主要的职责,如启动Getty、实施运行级别和挪用子历程等,是Linux系统中必不成少的轨范之一。
# j) L; H# ^0 }; t2 K5 c  下面提到的进入单用户模式的体例,本色都是向init轨范请求运行级别1,达到进入单用户模式的目的。
6 h# v# @. v8 L  1.Init轨范
# k+ C7 k: L/ M4 G; ~# ?5 {# f0 b  系统正在运行时,在呼吁行上用轨范Init可以更改运行级别(/sbin/telinit只是轨范Init的符号链接,同样可以使用),进入单用户模式用如下呼吁:$ z5 }6 {2 \6 J! v  o: Z
  #init 1
: V! g- k  w5 D( k% \  n& n  因为是在一个正在运行的系统上,且只有Root用户才有权限执行Init呼吁,所以此种体例虽然在系统维护时经常用到,但对口令恢复的意义不大。- S$ `) ?2 U3 N, P
  2. 改削默认运行级别
5 O, E7 {/ P7 Q% d2 u  /etc/inittab文件是系统运行级此外设置装备摆设文件,每当启动init历程时,init轨范城市篡夺/etc/inittab文件中的响应设置装备摆设并运行。
9 U% s& e- v) R% \& X& P3 u7 a. ?  在Linux系统启动时,/etc/inittab文件中有如下一行指定了默认的运行级别,凡是的运行级别是3或5。$ `# R7 R$ i3 t# Q8 \; m, u6 Q
  id:3:initdefault:9 b5 a4 R7 L" \- w; S: X
  要使系统启动后进入单用户模式,只要把膳缦沔一行中的3改为1就可以了。+ f1 \1 {7 P- d2 h/ a$ B: q$ F
  id:1:initdefault:
7 `+ J( _: P# T" S  j  3. 启动盘指导7 W; v% \3 f6 x/ z: y) t4 ]
  在Linux系统启动时,Init篡夺/etc/inittab设置装备摆设进入默认运行级别,但也可觉得内核指定一个启动参数,内核将依此参数设定特定设备和情形变量等,对于不能接管诠释的参数将传递给内核启动后的第一个轨范,即Init轨范,Init轨范据此参数启动进入非默认运行级别,如指定参数为1或single进入运行级别1,即单用户模式。内核启动参数的指定可经由过程在系统启动软盘、多重启动打点器或轨范Loadlin等的执行过程中指定。
- F5 r2 c8 x. l, O  在系统维护或内核更新时,常用到当前Linux系统的启动盘,在系统安装时会提醒用户建造一张启动盘,在系统安装完成后也可以建造,下面是一个简单示例。9 u3 M1 `; W' e' a) L. Z/ K& ?
  在软撵走放入软盘,用uname呼吁查看系统内核版本号,然后用Mkbootdisk呼吁建树指导盘,输入的呼吁如下:: Q0 n  T8 h& i. j' I: S9 y1 C
  #uname –r8 M/ N1 m4 N  U' |* U: E" A) Z* ^) R
  2.4.7-10
" h0 n- u- u$ R3 w( _0 D( g  #mkbootdisk –device /dev/fd0 2.4.7-10& R, \2 e5 t3 h* r6 |+ l" I
  以启动盘指导,在boot提醒符下以“linux ”的语法形式输入如下参数之一,即可指导进入单用户模式如下:
$ \7 v5 ]& a0 w( A5 n3 v  boot: linux 1
: o6 e+ T* q: f$ z  boot: linux single8 e0 e2 d0 P6 d5 k7 j; @- e1 {. q
  4. 多重启动打点器4 ?5 W$ T- C) ]. Z
  多重启动打点器是一个能在系统启动时用来选择加载某个操作系统的指导轨范,它可以载入操作系统的内核和初始化操作系统(如Linux或FreeBSD),或者把指导权交给操作系统(如DOS或Windows)来完成指导。Intel兼容PC机上的多重启动打堤迕嫘LILO和GRUB等,Alpha PC机上使用MILO,Sparc兼容的工作站是用SILO。
/ e& n. m3 P# s2 v# ]8 c3 j  在多重启动打点器中为Linux内核指定启动参数指导进入单用户模式。以Intel兼容PC机上的Linux为例,如不美观安装的是LILO,在LILO指导画面,按Ctrl+X键切换入呼吁行,在LILO提醒符下输入与启动盘指导Boot提醒符下不异的参数之一,即可指导进入单用户模式:) H* l9 A/ f% l  u! U
  在RedHat Linux 7.2往后,多重启动打点器起头用GRUB庖代LILO,它比LILO具有更多的优势,是LILO的替代品。下面是GRUB指导进入单用户模式的过程。: c+ o, C$ j9 N5 W" G* ?
  在呈现GRUB指导画面时,按字母e键,进入GRUB编纂状况。
& i+ }" z3 A  \+ G( F. K  按↑键或↓键选择响应的指导项,并再接字母e键进入呼吁行编纂。
) ?5 i8 U. z' V, ?+ \. e/ |: d  在呈现的呼吁行上添加“1”或single,并按键,返回GRUB编纂状况。
, D" P4 m) u# r$ x1 u% o  按字母b键,指导进入单用户模式。9 \. B* L& C- x+ _/ s2 I0 Z
  从上可以看出多重启动打点器对Linux系统启动和维护的主要性,所以建议在安装Linux时也安装良多若干好多重启动打点器,便于未来系统的维护,哪怕是主机上只安装了Linux一个操作系统。
& u& J5 D. W9 P6 ?/ i  5. loadlin指导
3 e& p1 d, h0 R6 d" u$ W  loadlin是一个能在DOS下启动Linux焦点的装载轨范,可从DOS指导进入Linux或安装Linux系统等。如不美观没有安装多重启动打点器或者设置装备摆设有误不能进入Linux的话,经常会用到这个轨范。
* z  f0 y7 w2 D! |: @  在loadlin的启动呼吁中添加single参数就可以进入单用户模式。如不美观主机上安装有Windows 9x系统,在系统启动时按F8进入MS-DOS,运行loadlin轨范指导进入单用户模式。下面是一次启动实例,该主机膳缦慊有安装Windows 9x,也没有安装DOS。
1 |  t8 w) ^9 E% ?  以Windows 98安装光盘指导启动,在“Microsoft Windows 98 Startup Menu”上选择第2项:“start computer with CD-ROM support.”。
4 N( ^/ s: U: ^7 D7 A0 b  进入MS-DOS后,在光撵走换入RedHat Linux安装光盘。- x! A: ?  o7 @, k) r1 h$ D/ ?
  在呼吁行上分袂输入如下呼吁指导Linux单用户模式,假设Linux根文件系统在分区/dev/hda5上:/ o- a+ Y* z- l- X
  A:%26gt;d:! R+ _7 c) U; K
  D:%26gt;cd dosutils# g7 E/ g! E! W) d5 M! p3 g
  D:DOSUTILS%26gt;loadlin autobootvmlinuz root=/dev/hda5 ro single# G/ T9 d& g' u$ l* e
  在启动盘指导的boot提醒符下,在LILO和GRUB等启动打点器的呼吁行下,以及在Loadlin轨范上都可以设置装备摆设良多参数指导进入系统,对系统维护很主要,可以参考BootPrompt-HowTo。  `0 [! a! O; S: }' V5 ^
  膳缦沔提到的体例,都需要对/etc/passwd、/etc/inittab等Linux文件进行读写,但在正常情形,只有root用户登录进去才可以读写。那么在不能正常登录进系统时,又若何能对这些文件进行读写呢?0 z" w) A% e. n. Q! U) L! U
  除了可以在紧迫修复模式、单用户模式下读写Linux文件外,采用下面的体例也不失踪为良策:! {5 ^2 o$ I0 l, j( J
  经由过程Linux系统软盘指导启动,就能进入Linux系统;) q/ H9 t' T' F8 O6 y) \( j3 U
  经由过程Linux系统光盘进入,如DemoLinux;
$ K9 n$ O7 o/ K+ K  在DOS/Windows下读写Linux文件,几乎所有版本的DOS/Windows都不供给对Linux文件系统的撑持,但借助不少软件可以实现,如FSDext2、Ext2fsnt、Ext2ifs、Ext2 tools、Ltools和Explore2fs等,还有Microsoft IFS Kit; 经由过程第二硬盘。
. f! g. B2 p" d4 Y  |0 l  ]  膳缦沔提到的各种Linux口令恢复体例,读者可以连系自己的现实情形,选择一种最简单易行的体例来恢复自己的Linux口令。从中可以看出,他人经由过程在当地重启系统很轻易获取Linux口令,所觉得了增强系统平安,有需要在启动打点器(如LILO和GRUB)及BIOS中设置口令,使他人不能等闲得逞,更主要的是增强平安打点工作。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-4-29 18:05 , Processed in 0.221390 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表