[[소소한 일상]]/유용한 팁

root 암호 분실 또는 변경이 되었을때 대처법

갑빠돌격기 2009. 3. 22. 10:53

Root 암호 분실 또는 변경이 되었을때 대처법!

 

작성일 : 2006.5.22

작성자 : 이영종

 

자신의 시스템의 root계정의 암호가 변경이되었거나 분실되었을 때의 대처법을 소개하겠습니다.


- What is Root??


root는 해당 시스템의 모든 권한을 가지고 있는 superuser이며,  막강한 권한을 가지고 있습니다.

해커들 또한 이런점을 악용하여 root계정을 획득하기 위해 갖은 방법을 동원하여 접근을 시도합니다.

(가장 흔한 예를 들면 랩실 컴퓨터에 매일 일어나는 무작위 대입이 있습니다.)


이런 막강한 권한을 가진 시스템의 최고 운영자 계정이 분실되거나 잃어버렸을때, 운영자는 고민에 빠지게 됩니다. 이럴 때를 대비하여 리눅스에서도 윈도우의 안전모드부팅과 같은 기능이 있습니다.

좀 더 자세히 설명하면 리눅스에서는 각각의 런레벨(Run-Level)이 존재합니다.


( Example : /etc/inittab )


#
# inittab This file describes how the INIT process should set up
#               the system in a certain run-level.
#
# Author:Miquel van Smoorenburg, <miquels@drinkel.nl.mugnet.org>
# Modified for RHS Linux by Marc Ewing and Donnie Barnes
#
# Default runlevel. The runlevels used by RHS are:
#   0 - halt (Do NOT set initdefault to this)
#   1 - Single user mode
#   2 - Multiuser, without NFS (The same as 3, if you do not have networking)
#   3 - Full multiuser mode
#   4 - unused
#   5 - X11
#   6 - reboot (Do NOT set initdefault to this)
#
id:3:initdefault:          # 이 줄에서 기본 런레벨을 지정함
# System initialization.
si::sysinit:/etc/rc.d/rc.sysinit

l0:0:wait:/etc/rc.d/rc 0
l1:1:wait:/etc/rc.d/rc 1
l2:2:wait:/etc/rc.d/rc 2
l3:3:wait:/etc/rc.d/rc 3

       :
       :


위의 예제에서와 같이 총 6개의 런레벨이 존재합니다.

각 각의 런레벨들은 간략한 코멘트로 설명이 되어있으며, 1 - Single user mode가 있습니다.


이제 1번째 Single mode로 부팅하기 위하여 시스템을 재부팅 시킵니다.

여기서는 로그인이 되어있는 상태가 아니니 crlt + alt + del 으로 부팅을 시작합니다.


시스템구동중 부팅과정중에 'e'키를 입력하면

GNU Grub 모드로 들어서게 됩니다.


현재 테스트하는 시스템에서는


CentOS (2.6.9-34.EL)

CentOS-4 i386 (2.6.9-22.EL)


기본적인 boot OS가 있습니다.

여기서 어느것을 선택해도 기본시스템에서는 차이가 없기 때문에 상관이 없습니다.

여기서는 첫번째를 선택하여 edit를 하겠습니다. edit모드로 가야하기 때문에 'e'를 다시한번 누릅니다.

그럼 화면의 목록이 바뀌고 다음과 같은 메뉴가 나옵니다.


root (hd0,0)

kernel /vmlinuz-2.6.9-34.EL ro root=LABEL=/

initrd /initrd-2.6.9-34.EL.img


여기서 두번째 kernel /vmlinuz-2.6.9-34.EL ro root=LABEL=/ 로 커서를 이동하여 다시한번

'e' 키를 누릅니다.

그럼 다음과 같은 편집 모드로 화면이 바뀝니다.


grub edit > kernel /vmlinuz-2.6.9-34.EL ro root=LABEL=/


에서 한칸 띄고 1를 입력하고 엔터를 누릅니다.

( 여기서 1은 single mode를 뜻합니다. 이 외에도 single mode 또는 s 또는 single 등을 입력해도 됩니다.)


example )

grub edit > kernel /vmlinuz-2.6.9-34.EL ro root=LABEL=/ 1

 

그럼 좀 전의 화면으로 다시 되돌아 가게 되는데 이제 b 키로 booting을 합니다.


부팅 메시지들이 나오며 부팅이 다 뜨면 다음과 같은 기본쉘이 뜹니다.


ex )

sh3.00$

 

새롭게 root 암호를 입력합니다.

# passwd root


 새롭게 재 설정을 마치면 재부팅을 시작합니다.


해피 리눅스~!!