카테고리 없음2013. 6. 18. 10:03

 

20-2장. 부팅과정과 시스템 초기화

 

 

● 시스템 부팅 과정


 

 

● 런레벨(runlevel)
- 시스템을 운영하는 7개의 방법
- Windows 계열의 표준모드, 안전모드, 도스프롬프트모드 등과 비슷
- 리눅스 부팅시 결정
- /etc/rc.d/rc 파일 -> /etc/rc?.d/ 디렉토리 파일 실행
- 종류
   → 0 : 시스템 종료 (# halt == # init 0)
   → 1 : 싱글모드, root 사용자의 패스워드 분실시
   → 2 : 네트웍기능 없는 다중사용자 모드
   → 3 : 일반적 형태(텍스트). 네트웍기능이 포함된 다중사용자 모드
   → 4 : 예비 레벨
   → 5 : 일반적 형태 (그래픽). runlevel 3과 거의 유사.
   → 6 : 재부팅 모드 (# reboot == # init 6)

 

 

/etc/inittab 파일
- "코드 런레벨:행동:명령어" 형식
- 주요 코드
   → id:3:initdefault:
      ☞ 기본으로 runlevel 3번으로 부팅

   si::sysinit:/etc/rc.d/rc.sysinit
      ☞ 시스템 초기화를 위한 설정
   → |0:0:wait:/etc/rc.d/rc 0
   → |1:1:wait:/etc/rc.d/rc 1
      ☞ 기본으로 세팅된 런레벨에 의해서 실행
   → ca::crtlaltdel:/sbin shutdown -t3 -r now
      ☞ ctrl-alt-del 키보드 사용
      ☞ "#" 주석처리 권장

 

 

● 현재 런레벨 확인
- 명령어 : # runlevel

 

 

● 시스템 부팅시 특정 서비스 실행
- 명령어 : # ntsysv
- /etc/init.d/디렉토리에 존재하는 파일 -> /etc/sysconfig/ 참조

 

 


[실습]

 
● Root 암호 분실시 부팅방법
● ntsysv 사용법

 

 

 

< root 사용자 암호 GRUB으로 변경하기 >

 

 

 

만약에 내가 root 사용자의 암호를 잊어버렸다면

어떻게 해야할까?

 

 


 

GRUB 창에서

'p' 를 눌러서 GRUB 암호를 입력한다.

 



 

그리고 'e' 를 눌러서 edit 모드로 진입

 



 

수정해야 할 부분은 두번째 줄이다.

싱글모드로 런레벨을 수정해보자.

'e' 를 누른다.

 



 

grub edit 모드로 들어왔다.

 



 

마지막 LABEL=/ 에서 한칸 띄고 사용할 런레벨 번호를 입력하면 된다.

싱글모드는 1번이므로 '1'을 입력하고 엔터키를 친다.

 



 

그럼 수정이 되었고 이대로 'b' 키를 눌러 부팅을 하자.

 



 

싱글모드로 부팅중

 



 

싱글 유저 모드로 부팅이 되었다.

 



 

이제 루트의 패스워드를 변경하자.

 

passwd

새로운 패스워드 입력

 

패스워드를 변경하였으면 reboot 명령으로 다시 부팅을 하자.

 



 

다시 GRUB 창이 뜨면 이번엔 정상적으로 첫번째로 부팅을 하자.

 



 

root 사용자로 로그인을 하자.

 


 

 이제 새로운 패스워드로 들어가면 된다.

 

 

만약에 GRUB 암호를 설정해 놓지 않는다면

아무나 GRUB을 조정해 root 암호를 수정할 수가 있다.

이는 엄청난 보안의 문제를 가져올 수 있으므로 GRUB 암호 설정은 필수라 할 수 있겠다.

 

 

 

 

 

< /etc/inittab 파일 확인 >

 

 


vi /etc/inittab



id:5:initdefault:

 

숫자를 3으로 바꿔주면 텍스트 모드로 부팅하겠다는 의미

 

/etc/rc.d/rc 파일은 0번부터 6번까지의 런레벨이 사용하겠다는 건데

저 파일안에 있는 내용대로 부팅이 진행이 된다.

 



간단하게

vi /etc/rc.d/rc 로 살펴보면

복잡한 쉘 프로그래밍으로 짜여진 부분들을 볼 수 있다.

 

이러한 내용들은 나중에 살펴보자.

 

 

 

 

< ntsysv >

 

부팅시에 특정 명령들을 실행하는 ntsysv에 대해 살펴보자.



머.. 살펴볼꺼 까진 없고 그냥 한번 보자.

 

ntsysv


 

Windows의 '서비스'와 같은 역할을 한다.

사용하고 싶은 기능에 스페이스를 눌러 '*'로 표시하면

부팅할때 그 기능을 사용하겠다는 의미다.

 

 

 

[정리]


● GRUB 부트로더 편집
● 시스템 부팅 과정
● 부팅 초기화 파일

Posted by 아이맥스