시스템부팅이 다양한 이유가 되지 않는 상황을 가정하고 할수있는 조치들을 다룬다.

 

1. root 사용자의 비밀번호를 잊어버렸을때

부팅하면 부트로더가 나타난다.

화면에서 e 입력. edit

linux로 시작하는 줄에 마지막에

rhgb quiet를 삭제

init=/bin/sh를 입력

ctrl+x 로 부팅

부팅 중간에 정지되고 'sh5-1#'라는 프롬프트가 나온다.

whoami

현재 로그인 사용자가 root인지 확인한다.

passwd

비밀번호를 변경한다.

오류메시지가 출력된다. 변경되지 않는다.

현재 파티션이 읽기 전용모드로 마운트 되어 있기 때문이다. 

mount

출력에서 마지막 줄에 ro(read only)를 확인 할수 있다. 변경한다.

mount -o remount,rw /

변경 명령

mount

출력에서 마지막 줄이 rw로 변경되었다.

passwd

비밀번호를 변경한다.

리부트 하여 변경한 비밀번호로 로그인 되는지 확인한다.

 

vmware 어플에 강제 재부팅한다.

 

주의해야 할 보안문제

위의 방법을 통하면 누구든지 root의 비번을 변경하고 권한을 획득할수있다. 그렇기 때문에 몇가지 대책이 필요하다.

  • 처음 부팅할때 나오는 GRUB부트로드를 편집할수 없도록 설정
  • 컴퓨터 BIOS에 CMOS 비밀번호를 설정한다.

2. GRUB 부트로더

부트로더는 부팅할때 처음 나오는 선택화면을 말한다.

사용자의 임의로 부트정보를 변경하여 부팅하거나, 여러가지 운영체제로 멀티부팅할수 있다.

 

GRUB2의 설정파일은 /boot/grub2/grub.cfg이다. 일반적으로 읽기전용으로 권한설정되어있다. 설정을 변경하고자 할때는 직접 편집해서는 안되며 /etc/default/grub 파일과 /etc/grub.d 디렉터리의 파일을 수정한 후 grub2-mkconfig 명령을 실행해 적용해야한다.

그 링크 파일은 /etc/grub2.cfg이다.

nano /etc/default/grub

나노 편집기 실행

1행 : 부트로더가 나온후 자동 부팅되는 시간 지정. -1이면 자동부팅되지 않고 사용자 선택할때까지 대기한다.

2행 : /etc/system-release 파일에서 'Rocky Linux'라는 글자를 추출하여 초기 부팅화면에서 노출시킨다.

3행: 기본 선택 엔트리를 설정. 0은 첫번째

4행: 서브 메뉴 사용 여부를 결정한느 설정이다. true는 서브 메뉴를 사용하지 않는다. 특별히 설정할 필요가 없다.

5행: GRUB 부트로더가 출력될 장치를 지정하는 설정이다. console은 모니터로 설정된다.

6행: 부팅시 커널에 전달할 파라미터를 지정하는 설정이다. 응급복구시 사용했었다.

7행: 엔트리 복구 관련 내용 표시 여부를 결정하는 설정이다. true에서 변경할 필요가 없다.

8행: BLSCFG. 변경할 필요가 없다.

 

부팅시 대기시간 변경과 GRUB 비밀번호 설정하기

nano /etc/default/grub

GRUB_TIMEOUT=20

~ 생략 ~

grub2-mkconfig -o /boot/grub2/grub.cfg

실행하여 변경내용을 적용

nano /etc/grub.d/00_header

문서를 열고

cat << EOF
set superusers="thisislinux"

password thisislinux 1234
EOF

devport 는 새로운 GRUB 사용자로 임의의 값이며 1234는 비밀번호로 사용할 임의의 값이다.

끝에 4행을 추가하고 저장한다.

grub2-mkconfig -o /boot/grub2/grub.cfg

변경된 내용을 적용한다.

이제 부트로드에서 편집을 하려할때 비밀번호를 요구한다.

 

이상하게 나는 되지 않았다. 그래서 다른 방법을 찾아보았다.

grub2-setpassword 

패스워드를 생성한다. 패스워드로 사용할 문자를 2회 입력

cat /boot/grub2/user.cfg

boot/grub2/user.cfg 파일이 생성되는데 내용을 확인하면 입력한 암호가 복호화 되어 있다.

grub2-mkconfig -o /boot/grub2/grub.cfg

생성한 암호 적용

reboot

재부팅

이제 부트로더에서 편집을 할려고 하면

사용자명과 암호를 요구한다.

이방법은 단일 사용자 모드로서 유저네임은 root가 된다.

+ Recent posts