hann-blume
Linux - 부팅오류 복구 / root계정 암호 재설정 본문
<만약 root계정의 암호를 분실하여 재설정을 위함이라면
ctrl+f를 눌러 here를 검색하면 된다.>
fstab 복구하는 방법
만약 오토마운트 작업을 위해 /etc/fstab를 수정하다가
혹여 오타가 발생하여 부팅이 제대로 되지 않을 때가 있다.
그 상황을 테스트 해보자
# vi /etc/fstab
잘못된정보 입력 (존재하지않거나 잘못된 정보)
/dev/sdc1 /test xfs defaults 0 0
존재하지않는 하드디스크와 존재하지않는 마운트포인트를 입력해준 것이다.
저장하고 나간다.
:wq
# reboot
이렇게 잘못된 정보를 fstab에 입력후
재부팅을 하면 부팅이 되지않는 오류가 발생한다.
- 무한 로딩 후 기다리면 부팅이 되지 않고
복구모드로 자동으로 접속해 터미널이 나타난다. (로딩이 조금 길다)
다음과 같은 터미널이 나오는데 현재 자동으로 복구모드에 접속한 것이다.
위 메세지는 관리자 계정(root)의 암호를 입력하라는 것이다.
root의 암호를 입력하고 Enter를 누른다.
암호 입력시에 암호를 입력하는 것이 눈으로 보이지않는다. - 보안을 위해
암호를 입력하면 이렇게 관리자 계정으로 로그인이 된다.
이제 여기서
# vi /etc/fstab
에 들어가
잘못된 정보를 삭제해주고 저장하고 나온다.
# reboot
이렇게 하면 /etc/fstab에서 잘못된 정보를 삭제하여 복구한 것이다.
지금과 같은 상황은 부팅시에 부팅파일에 문제가 발견되어
시스템이 자동으로 복구모드에 접속시켜서 해결한 것이다.
하지만 만약 복구모드 조차 접속이 안되는 경우가 있다.
<here>
복구모드를 수동으로 들어가는 방법
(root 계정의 암호를 잊어버렸을 때도 이 방법을 사용한다)
현재 상황을 부팅파일에 문제가 생겨 부팅이 안되는 경우라고 가정하자.
(또는 root 계정의 암호를 잊어버려 암호를 재설정 해야하는 상황)
우리는 부팅시에 위와같은 화면을 볼 수 있다. 이 화면은 우리가 설치한
CentOS의 커널을 선택하는 화면인데 우리는 항상 가장 위에있는 커널을 사용한다.
여기서 Enter를 쳐서 부팅하는 사람도 있고,
3초정도 지나면 알아서 선택하고 들어가기 때문에 건들이지 않는 사람도 있을 것이다.
여기서 중요한 것은 저 화면이 나타나자마자 우리는 키보드의 위,아래 화살표 키를 이용해
자동으로 넘어가는 것을 방지해주는 것이다.
그리고나서 마찬가지로 가장 위의 것을 선택해준뒤 Enter가 아닌
키보드의 알파벳 'e' 를 눌러준다
그럼 이러한 화면이 나타난다.
여기서 키보드의 화살표 아래방향 키로 쭉 내려본다.
내리면
아래부분에 x86.64 부분을 찾는다.
그리고
파란 박스 부분을 ro => rw
빨간박스 부분을 지우고
init=/bin/bash 로 바꾼다.
수정을 완료했으면 ctrl+x
키로 빠져나온다.
그러면 위와 같은 상태가 되고
맨아래 bash-4.2# 이 나타난다.
지금 grub 복구모드라는 곳으로 접속된 것이다.
이제 여기서
# vi /etc/fstab에 접속 후 아까와 같이
잘못된 정보를 삭제해주면 된다.
만약 grub 복구모드에 접속한 이유가
root계정의 암호를 잊어버린 이유라면
# passwd 명령어를 이용해
암호를 재설정 해주면 된다.
모든 해결이 끝났으면 재부팅을 해주어야하는데
grub 복구모드에서는 우리가 아는 재부팅 명령어가 듣지않는다.
# exec /sbin/init
으로 재부팅해준다.
여기서 의문점이 생긴다.
grub 복구모드를 아무나 들어갈 수 있으면 누구나
root계정의 암호를 변경하고 사용할 수 있게 된다.
이를 방지하기 위해 아무나 grub 복구모드에 접속할 수 없도록 막아둬야 한다.
# vi /etc/grub.d/00_header
그리고 G(shift + g)를 눌러 밑으로 내려간 후에
입력모드로 진입한후에 맨아래줄에 다음과 같은 내용을 추가해준다.
cat << EOF
set superusers="grubuser"
password grubuser tstory
EOF
위의 추가해줄 내용중에서 grubuser은 grub 복구모드에 접속할 수 있는 계정이름
tstory는 해당 계정의 패스워드를 지정하는 것이다.
계정은 기존에 있는 계정을 적는것이 아니라 새로운 계정 명을 입력해주는 것이다.
저장하고 나간다.
:wq
그리고 시스템에 적용한다 (마지막에 done이 출력된다)
# grub2-mkconfig -o /boot/grub2/grub.cfg
적용이 끝나면 시스템 종료 후 다시 부팅화면에서
키보드 'e'를 눌러 grub 복구모드로 접속을 시도 해보자.
아까와는 달리 계정이름을 물어본다. 그럼
아까 설정한 grubuser를 입력하고
암호 또한 위에서 설정한 tstory 를 입력한다.
그러면 grub 복구모드로 접속이 된다.
복구모드 종료
ctrl+x
여기까지 부팅오류 복구에 대한 설명이 끝났다.
'Linux' 카테고리의 다른 글
Linux - Quota (0) | 2020.02.27 |
---|---|
Linux - YUM (0) | 2020.02.27 |
Linux - Partition (0) | 2020.02.25 |
Linux - RPM(Redhat Package Management) (0) | 2020.02.25 |
Linux - Umask (0) | 2020.02.25 |