이것이 리눅스다(14) - 필수 개념과 명령어(응급 복구, GRUB 부트로더)

1 minute read

응급 복구

시스템이 부팅이 되지 않을 경우에 수행한다. 예를 들어 root의 비밀번호를 분실 했을 때를 가정해보자.

처음에 부팅이 될때 grup 부팅 화면이 떴을 때 위 아래 방향키를 통해 시간 제한을 없애주자.

그리고 e를 누르면 편집 화면으로 넘어간다.

네번째 줄의 내용을 수정해야 하는데, 중간에 rhgb quiet를 지우고 맨 뒤에 init=/bin/sh를 추가한다. 이는 처음에 부팅할 때 응급복구 모드로 시작하게 해준다. 그리고 Ctrl+x를 누르면 부팅이 된다. 이렇게 되면 처음부터 root로 접속을 할 수 있고, 여기서 비밀번호를 변경하면 된다.

하지만 지금 루트 파티션은 읽기 전용 파티션이기 때문에 변경이 되지 않는다. mount -o remount,rw /로 슬래시 파티션을 읽기 쓰기 모두 가능하게 만들 수 있다.

하지만 이렇게 되면 비밀번호를 몰라도 리눅스에 누구나 접근할 수 있게 되는 모순이 생긴다. 그래서 우리는 GRUB 부트로더에도 비밀번호를 걸어놓아야 하는 것이다.

GRUB 부트로더

GRUB 부트로더의 특징

  • 부트 정보를 사용자가 임의로 변경해 부팅할 수가 있다. 즉, 부트 정보가 올바르지 않더라도 수정하여 부팅할 수 있다.
  • 다른 여러 가지 운영체제와 멀티부팅을 할 수 있다.
  • 대화형 설정을 제공해줘서, 커널의 경로와 파일 이름만 알면 부팅이 가능하다.

GRUB2의 장점

  • 셸 스크립트를 지원함으로써 조건식과 함수를 사용할 수 있다. 동적 모듈을 로드할 수 있다.
  • 그래픽 부트 메뉴를 지원하며, 부트 스플래시boot splash 성능이 개선되었다.
  • ISO 이미지를 이용해서 바로 부팅할 수 있다.

GRUB2 설정 방법

  • /boot/grub2/grub.cfg : 설정파일. 직접 변경하면 안된다. /etc/default/grub 파일과 /etc/grub.d/ 디렉토리의 파일을 수정한 후에 grub2-mkconfig -o /boot/grub2/grub.cfg 명령어를 실행해 설정한다.

GRUB 실습

비밀번호를 거는 실습을 진행해보자. /etc/grub.d/로 이동하고 00_header 파일을 편집한다. 파일의 가장 하단에 다음과 같은 내용을 입력한다.

cat << EOF
set superusers="thisislinux"
password thisislinux 4321
EOF

그리고 grub2-mkconfig -o /boot/grub2/grub.cfg를 입력하여 변경된 내용을 적용한다.

Leave a comment