부트로더 관리

✒️ 2025-05-22 14:22 내용 수정


1. 리눅스 관리자 패스워드 복구

  1. init 1 (관리자 부팅모드: 싱글모드) 로 CentOS를 부팅하고, 부트 메뉴에서 e 누르기
    centos 관리자모드 E 누르기.png

  2. 커서를 "linux16" 이 있는 위치까지 내린 후, 문장 맨 뒤에 rd.break enforcing=0을 추가.

  3. ctrl + x를 눌러 재부팅하기
    centos 관리자모드 암호 수정하기 1.png

  4. 부팅이 완료되면 읽기 전용으로 마운트되기 때문에 # mount -o remount,rw /sysroot 로 루트 파일시스템에 쓰기 권한을 부여한다.

    • 위에는 잘못 타이핑해서 제대로 커멘드가 안 들어간 부분들이다.
      centos 관리자모드 부팅완료 후 읽기전용 마운트 1.png
  5. 마운트가 완료되면 # chroot /sysroot 를 입력해 /sysroot가 파일 시스템의 루트로 사용되도록 설정해준다.
    centos 관리자모드 부팅완료 후 관리자모드 진입 1.png

  6. # passwd 로 비밀번호를 변경해준다. 만약 글자가 깨져서 보인다면 아래의 명령어로 시스템 언어를 변경해준다.

명령어 설명
# export LANG=en_us 영어가 깨져서 출력되는 경우
# export LANG=euc-kr 한글이 깨져서 출력되는 경우
centos 관리자모드 한글이 깨지는 경우 1.png
  1. 비밀번호 변경이 완료되었다면 # touch /.autorelabel 로 변경된 패스워드를 적용 시켜주고, # exit 를 두 번 입력해서 재부팅한다.
    centos 관리자모드 변경된 패스워드 적용 1.png

2. 부트로더 암호화하여 보안 설정


1) /etc/grub.d/00_header 파일 수정하기

  1. # gedit /etc/grub.d/00_header 로 grub 헤더 파일을 수정모드로 열어준다.
    부팅모드에 관리자 암호 설정하기1.png

  2. 파일 맨 마지막에 다음 문구 추가

cat << EOF
set superusers="이름"
password 이름 비밀번호
EOF

부팅모드에 관리자 암호 설정하기2.png

  1. # grub2-mkconfig -o /boot/grub2/grub.cfg으로 변경 내용을 컴파일해줘야 한다.(리눅스가 알아들을 수 있는 기계어로 번역)
    부팅모드에 관리자 암호 설정하기3 컴파일.png
    부팅모드에 관리자 암호 설정하기4 컴파일.png

2) grub2-setpassword 로 설정하기

  1. # grub2-setpassword로 비밀번호를 설정해준다.
    부팅모드에 관리자 암호 설정하기 5 다른방법.png

  2. cat /boot/grub2/user.cfg로 변경된 내용을 확인한다. 비밀번호가 암호화되어 쉽게 알아보기가 어렵다.
    부팅모드에 관리자 암호 설정하기6 다른방법.png

  3. 변경 내용을 # grub2-mkconfig -o /boot/grub2/grub.cfg 로 반드시 컴파일해준다.
    부팅모드에 관리자 암호 설정하기7 다른방법.png