GRUB 부트로더는 앞선 포스팅에서 언급했듯이 부팅로더입니다. 


먼저 GRUB 부트로더에는 몇가지 특징들이 있는데 해당 특징들에 대해 정리해보도록 하겠습니다.


그리고 나서 앞선 포스팅을 따라 진행할 시에 생길 문제점에 대해 짚고 넘어가려고 합니다. 


18번 포스팅에서 GRUB 화면을 통해 root 비밀번호를 몰라도 편집모드로 들어가 비밀번호를 변경한 후 진입했는데 이렇게 진입하게 되면 누구든지 방법만 알면 편집모드에서 root 비밀번호를 변경할 수 있게 됩니다. 따라서 해당 편집모드로 진입하는 권한을 정말 관리자만 접근할 수 있도록 암호화 시켜주어야 합니다. 


그 전에 일단 GRUB 부트로더의 특징에 대해 알아보겠습니다.


GRUB 부트로더의 특징


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


GRUB2장점(GRUB -> GRUB2)


- 셀스크립트를 지원, 조건식과 함수를 사용할 수 있습니다.

- 동적 모듈로 로드할 수 있습니다.

- 그래픽 부트메뉴 지원, 부트 스플래쉬(boot splash) 성능을 개선하였습니다.

- ISO이미지 이용해서 바로 부팅이 가능합니다.


GRUB2설정방법


/boot/grub2/grub.cfg 설정파일 (직접변경하면안됨)

/etc/default/grub 파일과 /etc/grub.d/  디렉터리의 파일을 수정한 후에 grub2-mkconfig 명령어를 실행해 설정.


/etc/default/grub 파일


 1

  GRUB_TIMOUT=5

 2

  GRUB_DISTRIBUTOR=^$(sed's.release."$.g'/etc/system-release)"

 3

  GRUB_DEFAULT=saved

 4

  GRUB_DISABLED_SUBMENU_ture

 5

  GRUB_TERMINAL_OUTPUT="console"

 6

  GRUB_CMDLINE_LINUX="rd.md=0 rd.lvm=0 rd.dm=0 vconsole.keymap=us $([-x /usr/sbin/rhcrashkernel-param]

 && /usr/sbin/rhcrashkernel-param ll :) rd.luks=0 vconsole.font=latarcyrheb-sun16 rhgb quiet"

 7

 GRUB_DISABLED_RECOVERY="true"


이제 grub2 부트로더의 설정을 몇가지 변경해보려고 합니다. 


# vi /etc/default/grub 


grub 부트로더 기본설정을 변경할 수 있는 파일을 수정합니다.



GRUB_TIMEOUT 은 부팅시 OS선택 시간 조정입니다

GRUB_DISTRIBUTOR 는 맨 처음 화면에 뜨는 문구입니다.


아래화면에서 GRUB_DISTRIBUTOR 만 "This is Linux"로 변경하고 wq로 저장 후 빠져나옵니다. 

아래화면에서는 바꾸지 않았지만 GRUB_TIMEOUT=30으로 입력하고 재부팅하면 입력시간이 30초로 늘어난 것을 확인할 수도 있습니다.



변경사항을 업데이트 해줍니다.


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



이렇게하면 리부트시 DISTRIBUTOR 에 CENTOS LINUX라고 되어있던 부분이 This is Linux 로 바꼈을 겁니다.


이제 진짜로 일반사용자의 grub 부트로더 에디팅 권한을 막아보겠습니다.


# vi /etc/grub.d/00_header 



아래와 같은 화면이 나오면 맨 밑으로 가서 


fi 밑에 다음과 같은 4줄을 입력해줍니다.


cat << EOF

set superusers="thisuser"

password thisuser 1234

EOF



변경사항을 재설정해줍니다.


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



확인을 해보면 편집모드로 들어가도 thisuser로만 접속할 수 있습니다.




명령어만 정리하면 다음과 같습니다. 


--GRUB 이름 설정--


vi /etc/default/grub

--

TIMEOUT=? ? 시간변경 가능

DISTRIBUTOR=? ? 이름변경 가능


grub2-mkconfig -o /boot/grub2/brub.cfg     명령적용


--GRUB 비밀번호 설정--


vi /etc/grub.d/00_header

맨 밑에 추가


cat <<  E0F

set superusers="thisuser"

password thisuser 1234

E0F


:wq

grub2-mkconfig -o /boot/grub2/brub.cfg     명령적용

reboot


+ Recent posts