본문 바로가기

OS & network/solaris

솔라리스 11 grub2 보안 설정하기

솔라리스 11.1 에서 grub 2로 바뀐 점은 지난번 포스팅에서 언급 한적이 있습니다.

솔라리스 11 ( 11/11 ) 은 grub 0.97 버전을 사용하고 있습니다.

아래는 솔라리스 11 ( 11/11 )의 화면입니다. ( grub 0.97 임을 확인할 수 있습니다.)

<그림1> 솔라리스 11 (11/11 ) 부트 화면


아래 화면은 솔라리스 11.1의 부트 화면 입니다. 버전은 1.99 로 출력되고 있습니다.

<그림2> 솔라리스 11.1의 부트 화면


따라서 두 버전에서 보안 설정을 적용하는 것이 다릅니다.

솔라리스 11은 기존에 사용하던 방식으로 보안 설정을 할 수 있습니다.


이번에 다루려는 것은 솔라리스에서 부트시에 grub2 에 대한 설정을 임의로 편집하지 못하도록 설정하는 방법에 대해서 알아 보고자 합니다.



(1)패스워드를 생성합니다.


/usr/lib/grub2/bios/bin/grub-mkpasswd-pbkdf2

# Enter and confirm the password


Enter password:  패스워드 입력

Reenter password: 패스워드 입력 ( 검증 )


(2)패스워드 입력 후 해쉬값 출력


해당 해쉬값이 sha512 로 아래와 같이 출력 됩니다.


Your PBKDF2 is grub.pbkdf2.sha512.10000.2E5F0BDC3446CC2BC4AAA85A2D285FD2CE27866FCD

DE86E5327AFE5CEE7BD5E949324EC1F09EAE9818DA4F7EA779CC723C6E619B5F65E3ECC8760

D111DAB7390.1716459A08B8B64BAE1D539720CA6AF4539337414278A8A73B1F65DA2107B011B191

B7C9E786B7A842ABB3C7900EB3D75100DD3C80AF4F4C974157D27146E34C


(3)grub.cfg 편집


여기서 주의할 점인데 , 인터넷에 자료를 찾아봐도 이 부분에 대해서 명확한 자료가 없더군요.

/boot/grub/grub.cfg 를 편집하도록 하고 있는데 , 일부 매뉴얼을 보면 직접 편집 하지 마라고 되어 있습니다.

헌데 , 직접 편집을 해서 반영해도 편집이 적용이 안되더군요. 나중에 알고 보니 , 재부트시에 초기화 됩니다. (파일에는 남아 있지만 시스템에서 초기화해서 읽어 들입니다)


/rpool/boot/grub/grub.cfg 파일을 열어서 다음과 같은 내용을 추가 합니다.

추가할 위치는 set default="0" 바로 밑에 하셔야 합니다. 해쉬값은 (2)에서 얻어진 값을 붙여 넣기 합니다.


set superusers="root"

password_pbkdf2 root grub.pbkdf2.sha512.10000.2E5F0BDC3446CC2BC4AAA85A2D285FD2CE27866FCD

DE86E5327AFE5CEE7BD5E949324EC1F09EAE9818DA4F7EA779CC723C6E619B5F65E3ECC8760

D111DAB7390.1716459A08B8B64BAE1D539720CA6AF4539337414278A8A73B1F65DA2107B011B191

B7C9E786B7A842ABB3C7900EB3D75100DD3C80AF4F4C974157D27146E34C



(4) 엔트리별 구성

엔트리별로 구성을 원하면 아래와 같이 엔트리 마다 사용자를 정의하여 제한 할 수도 있습니다.


menuentry "Oracle Solaris 11.1" {  와 같이 작성된 부분을 아래와 같이 정의할 수 있습니다.


menuentry "Oracle Solaris 11.1" --users  root {



사용자를 다수 지정하려면 콤마(,)를 구분자로 넣으면 되고 공백이 포함될 경우는 쌍따옴표("")를 이용하시면 됩니다.

적용 후 재부팅 하고 grub 메뉴를 편집하기 위해 알파벳 e 를 눌러 편집 모드로 진행하려면 아래와 같이 패스워드를 불어봄을 확인 할 수 있습니다.


패스워드를 입력해 주면 grub2의 파라미터 정보를 편집할 수 있게 됩니다.


grub2 의 경우는 모듈화 되면서 기능이 대폭 향상되었으나 , 그 만큼 복잡해져서 체계적으로 공부할 필요가 있을 것 같네요. : - )