Single Mode(응급 복구)
리눅스 시스템에서 Single Mode란 단일 사용자 모드(Single User Mode)를 의미하며, 콘솔을 이용한 Super User만 접근 가능한 특징을 가집니다.
일반적으로 관리자(root)계정의 암호를 분실하였을 경우 Single Mode로 부팅하여 root의 패스워드를 초기화하는 용도로 사용됩니다.
참고) /etc/fstab 파일 등의 문제로 다중 사용자 모드(Multi User Mode)로 부팅이 되지 않는 경우에도
Single Mode로 부팅하여 문제를 해결할 수 있습니다.
※ Rocky Linux 8 Single Mode입니다.
1. Single Mode가 필요한 서버에서 톱니바퀴를 클릭해줍니다.
2. 상세정보 탭에서 VNC Console 접근을 클릭합니다.
3. Send CtrlAltDel 을 클릭하면 재부팅이 진행되며,해당 화면이 나타나면 e를 눌러줍니다.
4. 아래와 같은 화면이 나오면 ro crashkernel=auto rhgb quiet 이라는 문구를 확인할 수 있습니다.
5. ro crashkernel=auto rhgb quiet ⇒ rw crashkernel=auto init=/bin/bash 로 바꿔주고 Ctrl + X 를 입력해줍니다.
6. 왼쪽하단에 bash가 나오면 싱글 모드에 정상적으로 진입했음을 알 수 있습니다.
7. mount -o remount,rw / 를 입력해줍니다.
-o : 마운트 시 세부적인 옵션을 적용시킬 때 사용합니다.
remount : 해당 디바이스를 다시 마운트 합니다.
rw : 읽기/쓰기 모드로 마운트합니다.
즉, 해당 디바이스를 읽기/쓰기 모드로 다시 마운트 할 것이며 이를 루트에 적용(마운트)한다는 의미입니다.
8. 비밀번호를 성공적으로 변경했으면 vi /etc/sysconfig/selinux 로 들어가서 selinux 권한을 disabled로 바꿔줍니다.
vi 편집기 상에서 a를 눌러 수정을 하고 싶은 부분을 수정해준 후 “ESC” + “:wq” 를 입력해 바꾼 내용을 저장해줍니다.
9. 마지막으로 아래 명령어들을 각각 입력해주면 바꾼 root 비밀번호로 적용되어 부팅됩니다.
touch /.autorelabel : selinux 권한을 우회하여 바꾼 root 비밀번호로 입력할 수 있도록 허용시킵니다.
exec /sbin/init : 시스템을 재시작합니다.
10. 재부팅이 완료되면 바꾼 비밀번호를 통해 정상적으로 로그인 할 수 있습니다.
CF) 만약 Selinux를 disabled가 아니라 enforcing 해야하는 환경에 계신 분들은 바꾼 비밀번호로 root 계정에 접속하신 후 vi /etc/sysconfig/selinux 로 들어가서 disabled를 enforcing으로 바꿔주시면 됩니다.
이후 재부팅을 진행하면 해당 화면을 보실 수 있습니다. 해당 화면이 나오면 재부팅이 완료될 때 까지 기다리신 후(레이블을 재설정하기 때문에 부팅이 오래 걸릴 수 있습니다.)
로그인 창이 뜨고 나서 접속하시면 sellinux=enforcing 상황에서도 서버를 사용할 수 있습니다.
※ Rocky Linux 9 Single Mode입니다.
1. Single Mode가 필요한 서버에서 톱니바퀴를 클릭해줍니다.
2. 상세정보 탭에서 VNC Console 접근을 클릭합니다.
3. Send CtrlAltDel 을 클릭하면 재부팅이 진행됩니다.
4. 재부팅이 완료되고 난 후, 해당 화면에서 e를 눌러줍니다.
5. 아래와 같은 화면이 나오면 ro console=ttyS0,115200n8 이라는 문구를 확인할 수 있습니다.
6. 이전 단계에서 나온 빨간 네모 박스 문구를 rw single init=/bin/bash로 수정해줍니다.
( 참고 : 커서를 위 아래 한 칸씩 이동시에는 키보드 → 과 ← 을 사용하여야 합니다.)
ro console=ttyS0,115200n8 ⇒ rw single init=/bin/bash
해당 문구를 추가하고 난 후 Ctrl + X 를 누르고 싱글 모드로 진입합니다.
7. 왼쪽 하단에 bash가 나오면 싱글 모드에 정상적으로 진입했음을 알 수 있습니다.
8. mount -o remount,rw / 를 입력해줍니다.
-o : 마운트 시 세부적인 옵션을 적용시킬 때 사용합니다.
remount : 해당 디바이스를 다시 마운트 합니다.
rw : 읽기/쓰기 모드로 마운트합니다.
즉, 해당 디바이스를 읽기/쓰기 모드로 다시 마운트 할 것이며 이를 루트에 적용(마운트)한다는 의미입니다.
9. mount를 하고난 후 passwd root를 통해 root의 비밀번호를 원하는 것으로 바꿀 수 있습니다.
10. 마지막으로 아래 명령어들을 각각 입력해주면 바꾼 root 비밀번호로 적용되어 부팅됩니다.
touch /.autorelabel : selinux 권한을 우회하여 바꾼 root 비밀번호로 입력할 수 있도록 허용시킵니다.
exec /sbin/init : 시스템을 재시작합니다.
11. 재부팅이 완료되면 바꾼 비밀번호를 통해 정상적으로 로그인 할 수 있습니다.