OS/Linux2008. 6. 29. 05:13

리눅스 root 패스워드를 잊어버렸을 때


리눅스를 사용하면서 가장 난감할 때가 root 패스워드를 잊어버렸을 때일 것이다. 물론 다시 설치하면 해결되겠지만 그러기에는 시간이 너무 아깝다. 더구나 방금 설치를 마치고 재부팅했는데 설치 중에 root 패스워드를 잘못 입력해 로그인 한 번 못해보고 다시 설치해야 한다면 더욱 비참할 것이다.

하지만 리눅스를 만든 사람들이 이런 상황에 대한 대비책을 세워 놓지 않았을 리 없다. 리눅스에는 시스템의 사용 모드를 나타내는 ‘runlevel’이라는 것이 있는데 이는 다음과 같다.

0 - 시스템 종료
1 - Single-User 모드
2 - Multi-User 모드(네트워크 사용 불가)
3 - Multi-User 모드
5 - Multi-User 모드(그래픽 화면 로그인)
6 - 시스템 재시작



위의 runlevel 중 1, 즉 Single-User 모드는 별도의 로그인 과정 없이 root 계정으로 시스템을 사용할 수 있는 모드이다. 따라서 이 모드로 부팅하면 root 패스워드를 변경할 수 있다. Single-User 모드로 부팅하기 위해서는 부트 로더에서 부팅 파라미터를 수정해야 하는데 여기서는 부트 로더로서 GRUB을 사용한다고 가정하고 그 과정을 살펴보겠다.


1. GRUB이 떠서 디폴트로 지정된 OS로 부팅하려고 할 때, 엔터를 쳐서 선택 메뉴로 들어간다.

2. 부팅하고자 하는 것을 선택하고 e를 눌러 Edit 모드로 들어간다. 시스템마다 차이는 있겠지만 보통 다음과 같은 형식으로 나올 것이다.

root (hd0,0)
kernel /boot/vmlinuz-2.6.14-41hs ro root=/dev/hda2
initrd /boot/initrd-2.6.14-41hs.img



3. kernel이 있는 줄을 선택하고 다시 e를 누른다. 그럼 다음과 같이 부팅 파라미터를 수정할 수 있는데 끝에 1 또는 single을 입력하고 엔터를 누른다.

grub edit> kernel /boot/vmlinuz-2.6.14-41hs ro root=/dev/hda2 1


4. 다시 2번의 화면으로 돌아오게 되는데 b를 누르면 부팅을 시작한다.

5. 별도의 로그인 화면이 뜨지 않고 다음과 같이 프롬프트가 뜰 것이다. 이제 root 패스워드를 원하는 것으로 바꿀 수 있다.

sh-3.00# passwd
Changing password for user root.
New UNIX password: _


6. 시스템을 재부팅한다.

sh-3.00# reboot



만약 리눅스 설치 CD가 있다면 rescue 모드로 부팅하여 root 패스워드를 변경할 수도 있다. rescue 모드란 윈도우의 안전 모드에 해당하는 것으로 시스템에 이상이 있어 제대로 부팅할 수 없을 때 사용하는 일종의 복구 모드이다.

1. 리눅스 설치 CD 1번을 넣고 부팅한다(BIOS에서 CD-ROM 부팅 설정이 되어 있어야 한다).

2. rescue 모드로 들어간다. 배포판 별로 차이가 있을 수 있으나 보통 boot: 프롬프트에서 linux rescue를 입력하여 들어간다.

boot: linux rescue

3. 언어와 키보드, 네트워크 설정 등을 한다.

4. 루트 파티션(사용자의 리눅스가 설치된 파티션)을 선택한다.

5. 프롬프트가 뜨고 4에서 선택한 파티션이 /mnt/sysimage에 마운트되었을 것이다.

6. chroot /mnt/sysimage를 입력하여 시스템의 루트를 /mnt/sysimage에 마운트된 파티션으로 옮긴다. 그 후 root 패스워드를 변경할 수 있다.

sh-3.00# chroot /mnt/sysimage
sh-3.00# passwd
Changing password for user root.
New UNIX password: _


7. exit를 두 번 입력해 시스템을 재부팅한다.

sh-3.00# exit
exit
sh-3.00#exit



root 패스워드 바꾸기가 의외로(?) 간단한 것을 알 수 있다. 보안을 위해서는 CD-ROM 부팅을 통제하고 BIOS에 패스워드를 걸어놓는 게 좋을 수도 있다. 하지만 패스워드를 두 번 입력해야 하는 불편함이 있을 뿐만 아니라 위험부담 또한 존재한다. 만약 BIOS 패스워드를 잊어버린다면? 보안을 강화할 수록 시스템 관리자의 불편과 부담은 커져 간다. 보안과 편리함 사이의 적절한 선을 찾는 것 또한 시스템 관리자의 고민이 아닐 수 없다.

Posted by skensita