GRUB bootloader 사용해서 관리자 비밀번호 관리
리눅스를 부팅을할때 다음과 같은 화면이 나온다.
위 화면을 GRUB bootloader화면이라고 얘기를 하는데 커널을 선택하는 화면이다.
리눅스는 엄밀히말하면 커널 이름이고 위선 택지가 그 커널을 선택하는 것이다.
보통 목록 가장 위에있는 버전이 최신 버전이다.
e를 누르면 다음과 같이 시스템을 수정할 수 있다.
ro -> rw로 변경
rhgd 부분까지 삭제 후 init=/bin/bash로 변경
다음과 같이 커널 라인을 편집해서 저장을 하면 안전모드(복구 모드)로 들어갈 수 있다.
안전모드로 들어가면 자동으로 root계정으로 로그인이 돼있고 관리자 계정의 비밀번호를 수정해 주었다.
그리고 exec /sbin/init 명령어로 재부팅할 수 있다.
위 방법으로 root계정의 비밀번호를 수정을 할 때는 root계정의 비밀번호를 모르거나 까먹었을 때 다시 설정하는 방법으로 볼 수 있다.
그렇다면 위작 업을 누구나 사용하면 보안상에 문제가 생길 수 있기 때문에
grub 접근 보안설정을 해줘야 한다.
grub 접근 보안설정
부트로더 (bootloader) == 초기 적재 프로그램
- 시스템이 부팅되기까지의 전 과정을 진행하는 부팅 프로그램
- 운영체제가 시동되기 이전에 미리 실행되면서 kernel이 올바르게 동작할 수 있도록 필요한 사전 작업을 마무리하고 최종적으로 운영체제를 시동시켜주기 위한 목적을 가진 프로그램
ex) LILO(linux bootloader) == 현재는 사용 안 함, GRUB
grub 설정 파일
- /boot/grub2/grub.cfg ->원본
- /etc/grub2.cfg -> 링크
vi에디터로 원본 파일 열어보자.
원본 파일을 열어보면 이 파일을 수정하지 말라고 적혀 있다. 그리고 아랫줄 주석을 보면 /etc/default/grub을 설정해달라고 주석이 적혀져 있다.
-> 관리자도 해당 파일을 직접적으로는 편집하지 않는다 ->편집 금지
-> 원본 설정 내용을 변경 시에는 /etc/grub.d 경로에 있는 파일들, /etc/default/grub 파일 편집으로 설정 변경 진행한다.
-> 변경된 설정 내용을 원본 파일에 재적용 시에는 grub2-mkconfig 형식을 사용해서 재적용 진행한다.
etc/default/grub -> grub 화면 옵션 설정
에디터로 들어가 보면 다음과 같은 화면이 나온다.
1 GRUB_TIMEOUT=5 == 화면이 나오고 부팅되기까지의 시간,
2 GRUB_DISTRIBUTOR="$(sed 's, release.*$,,g' /etc/system-release)" == 초기 부팅 화면 각 엔트리 앞에 표시할 배포판 이름
3 GRUB_DEFAULT=saved == 엔트리 선택 여부 saved->선택한 엔트리를 사용하겠다 의미/0은 첫 번째, 1은 두 번째 엔트리 지정 의미
4 GRUB_DISABLE_SUBMENU=true == 서브메뉴 사용 여부 true는 사용 안 함을 의미
5 GRUB_TERMINAL_OUTPUT="console" == grub화면을 표시할 장치 console은 모니터 출력을 의미
6 GRUB_CMDLINE_LINUX="crashkernel=auto rhgb quiet" == 부팅 시 kernel에 전달할 파라미터 정의
7 GRUB_DISABLE_RECOVERY="true" == 복구와 관련된 것들의 표시 여부 true는 비활성 의미
다음과 같은 경로를 vi에디터로 가서
가장 아랫줄에 다음과 같이 grubloader를 설정한다. 위에서 말했듯이 아무나 root비밀번호를 설정할 수 없도록 막아놓는 작업이다.
그리고 수정한 것을 설정을 해줘야 한다.
이렇게 하면 아래와 같이 아이디와 비밀번호를 입력해야 grub화면으로 들어갈 수 있다.
이때 위에서 설정해 놓았던 아이디와 비밀번호를 입력해야 들어갈 수 있다.
'LINUX' 카테고리의 다른 글
Linux/ubuntu PPA 퍼스널 패키지 아카이브(개인저장소) (1) | 2023.02.04 |
---|---|
Linux/process (0) | 2021.11.13 |
Linux/filesystem&mount(2) 파티션에 마운트걸기/logical partition만들기 (0) | 2021.11.11 |
Linux/filesystem& mount (1) /하드디스크 추가하기 (0) | 2021.11.10 |
Linux/yum/centos7 에 mariadb 설치 (0) | 2021.11.08 |