강좌
클라우드/리눅스에 관한 강좌입니다.
리눅스 분류

내 시스템 깨뜨리기

작성자 정보

  • 웹관리자 작성
  • 작성일

컨텐츠 정보

본문

icon01.giftitle23.gif


윤봉환 (electuz@chollian.net)

 

Hello!

만약 이 기사에 어떤 수정이라도 있다면
http://www.tcu-inc.com/mark/articles/Breaking.html에 올려질 것이다. 이 짧은 기사는 다만, 내가 루트 패스워드를 망쳤을 때, 내 자신의 시스템을 깨고 들어가기 위한, 나의 간단한 방법이다. 이렇게 하는 더 쉬운 방법들이 있지만, 이 방법은 만약 환경설정 파일이 엉켜 자신의 시스템에 로긴할 수 없더라도 또한 사용될 수 있다.

물론, 이는 리눅스를 벗어난 운영체제 솔루션(Linux independent OS solution)이 아니다.

나는 www.cheapbytes.com으로부터 가져온 래드햇 5.2 CD의 cheapbytes 버전인 부트 가능한 cdrom을 사용한다.

이 문서를 위해 나는 컴퓨터가 아래와 같은 구조로 분할되었다고 가정할 것이다.

/dev/hda1   swap partition
/dev/hda2   root partition for Linux or “/”
/dev/hda3   DOS partition

물론, 나도 이 구역질나는 소프트웨어를 Linux와 같은 하드 드라이브에 두는 것이 소름 끼치는 일이다.

/dev/hda2는 우리가 primary IDE 컨트롤러의 매스터 하드 드라이브를 사용하고 루트는 그 하드 드라이브의 두 번째 primary 파티션에 있다는 뜻이다. 만일 당신의 루트가 첫 번째 primary 파티션에 있다면 /dev/hda1이 될 것이다.

내가 내 컴퓨터를 깨고 들어가는데(hack into) 사용한 방법들이다.

1. 당신의 컴퓨터를 BIOS에서 cdrom으로 부트할 수 있도록 만든다.
    만일 컴퓨터가 cdrom에 의한 부트를 지원하지 않는다면 부트가능한 플로피 디스크로 해결
    할 수 있을 것이다. 내게 있어, 더 빠르고 쉬운 방법을 원할 뿐이고, 그래서 나는 cdrom으로
    부트한다. 나는 지금껏 플로피 드라이브로 부트한 적이 없다.

2. cdrom을 cdrom 드라이브에 넣고 컴퓨터를 켠다.

3. 레드햇 5.2 설치를 계속할 것처럼 가장하고 나면 cdrom을 넣으라고 요구하고
   두 번째 콘솔 윈도우로 갈 수 있는 다음 화면으로 넘어간다.

4. Alt-F2, Alt-F3, Alt-F4, Alt-F5, 그리고 나서 Alt-F1을 눌러보라. 서로 다른 메시지를 가진
    다양한 화면들을 보게 될 것이다. 우리가 관심을 가지는 것은  Alt-F2 하나이다.

5. Alt-F2를 누른다.

6. “cd /tmp”를 쓰고 엔터를 누른다. 이 명령은 파일, 디렉터리 등을 만들 수 있는 디렉터리로
    우리를 데려간다.

7. 이제 우리가 살펴보고 편집할 하드 드라이브 파티션을 위해, 임시 디렉터리와 임시 디바이스
    를 만들 필요가 있다.  

     아래 명령들을 수행하자.

mkdir /tmp/my_dir
mknod /tmp/my_dev b 3 2
mount /tmp/my_dev /tmp/my_dir
df

8. “mkdir”은 파티션이 마운트될 디렉터리를 만든다.

   “mknod”는 매스터 하드 드라이브 두 번째 파티션에 대한 디바이스를 만든다.
   이 명령은 우리에게 그 파티션을 볼 수 있게 해준다.
   “b 3 2”의 자세한 뜻은 다음과 같다. “b”는 블록 디바이스, “3”은 primary IDE 컨트롤러의
   매스터 하드드라이브, “2”는 두 번째 파티션을 뜻한다.

   “mount”는 “/tmp/my_dir” 디렉터리 최상위에 우리가 볼 수 있는 디바이스를 올려준다.

   “df”는 다만 어떤 파일 시스템이 어디에 마운트되어 있는지 보여준다.
    이제 우리 예제를 위해, 패스워드 파일을 편집하거나, 컴퓨터가 xdm을 사용하도록 설정
    되었을 때 xwindows로 시작되지 않도록 돌려 놓는 따위의 간단한 일을, 아마 할 수 있을
    것이다.

10. 다음을 순서대로 따라한다.

cd /tmp/my_dir/etc
vi inittab

11. 이제 우리는 환상적인 에디터이지만, 배우기에 고통스러운 vi의 사용법을 알아야 한다.  
      여기 몇 가지 간단한 vi 명령들이 있다.

“x”는 문자를 하나 지운다.
“i”는 문자(characters)나 글자(letters)를 삽입할 수 있도록 만든다.
“Esc”는 삽입 모드를 끝낸다.
“wq!”읽기전용 속성을 무시하며 저장하고 끝낸다.
“h”는 한 문자 왼쪽으로 옮겨간다.
“l”은 한 문자 오른쪽으로 옮겨간다.
“k”는 한 줄 위로 옮겨간다.
“j”는 한 줄 아래로 옮겨간다.

12. 이제 아래와 비슷해 보이는 줄로 내려간다.

id:5:initdefault:

커서를 “5”에 두고 “5”를 지운다.
Press “x”.를 누른다.
숫자 “3”을 입력하기 위해 “i”를 누르고 “3”을 누른다.
“Esc” key를 누른다.
“:wq!”를 쓰고 엔터를 누른다.

13. 이제 파일 편집이 끝났다. 어떤 문제가 남았는가? 만일 그대로 리부트 한다면 수정된 모든
     것을 거의 잃게 될 것이다.
     반드시 디렉터리를 언마운트하고 그 다음에 리부트해야 한다.

14. 이렇게 하라.

cd /tmp
umount /tmp/my_dir
df

15. 이제 재시동하기 위해 Crtl-Alt-Del를 누른다. 그리고 cdrom 드라이브로부터 cdrom도
      꺼낸다. 컴퓨터가 다시 시작될 때 cdrom 대신 하드 드라이브로 부트되도록 BIOS를 설정
      할 것을 권한다.

그렇다! 패스워드를 바꾸고, 그리고 다른 잡다한 일에도 이 방법을 사용할 수 있다.

물론 컴퓨터 바이오스에 패스워드를 두는 것이 이상적이다.  만일 당신이 물리적인 보안장치를 두지 않았다면 아무나 당신의 컴퓨터에 대고 이런 짓을 벌일 수 있다. 심지어 BIOS에 패스워드를 설정했더라도 누군가가 하드 드라이브를 컴퓨터로부터 항상 떼어갈 수 있다(역자주: 시스템 관리의 세 가지 계명이 있다. 그 처음은 백업이고, 둘째도 백업, 셋째도 백업이다. 시스템 전체를 들고 가더라도 백업된 데이터가 있다면 다시 시작할 수 있을 것이다).

-------------------------------------------------------Mark Nielsen           
 “Where 98 has no meaning.”
www.tcu-inc.com                 sales@tcu-inc.com
The Computer Underground, Inc.  614-485-0506
computers, programming, networking, Perl, PHP, SQL, HTMl, Linux, Unix
-------------------------------------------------------

Copyright ⓒ 1999, Mark Nielsen
Published in Issue 41 of Linux Gazette, May 1999

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,056 명
  • 현재 강좌수 :  35,910 개
  • 현재 접속자 :  245 명