이것이 리눅스다(14) - 필수 개념과 명령어(응급 복구, GRUB 부트로더)
응급 복구
시스템이 부팅이 되지 않을 경우에 수행한다. 예를 들어 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