Single Mode 부팅후 root 암호 변경 (centos, rocky, ubuntu)
리눅스 시스템에서 Single Mode란 Single User Mode를 의미하며, 콘솔을 이용한 Super User만 접근 가능합니다.
일반적으로 관리자계정의 암호를 분실하였거나, 마운트 파일 경로 설정 오류를 Single Mode로 부팅하여 해결합니다.
싱글 모드로 부팅하는 환경은 CentOS7, Rocky8, Rocky9, Ubuntu22.04로 정리하였습니다.
0. 공통
부팅시 커널 선택창에서 e를 눌러 커널 편집모드로 진입합니다.
1. Rocky 8
여기에서 중요한 부분은 ro console=ttyS0,115200n8 부분 입니다.
해당 부분을 rw init=/bin/bash로 수정해줍니다.
read only에서 read write 모드로 수정을 하고, 커널을 /bin/bash로 시작한다는 뜻입니다.
2. Rocky 9
Rocky 9의 수정 전 커널 실행 스크립트이고
해당 부분도 ro console-ttyS0,115200n8을 수정해봅니다.
rw single init=/bin/bash에서 single을 빼도 무관합니다.
3. CentOS 7
Rocky와 많이 다르지만 침착하게 console 부분을 찾아 ro를 rw로, console을 삭제하고 init=/bin/bash를 추가해줍니다.
init의 위치는 crashkernel 뒤에 위치해도 상관없었습니다.
4. Ubuntu 22.04
Ubuntu도 CentOS와 비슷했습니다. 마찬가지로 console부분을 찾아 바꿉니다!
이렇게 커널 편집을 통해 /bin/bash로 시작이 되도록 설정하였습니다. 이제 root의 비밀번호를 수정해보겠습니다.
수정 방법은 Rocky8, Rocky9, CentOS7, Ubuntu22.04 모두 동일했습니다.
5. root 패스워드 수정
/bin/bash로 성공적으로 부팅이되었으면 제일처음 싱글모드에서 마운트를 시켜야합니다.
mount -o remount,rw /
mount : 파일 시스템을 마운트하거나 마운트된 파일 시스템의 상태를 변경하는 명령어
-o : 마운트 하려는 옵션 지정
remount : 다시 마운트
rw : 읽기/쓰기 모드로 파일 시스템 마운트
/ : 마운트할 디렉터리
를 나타냅니다.
정리하자면 /위치에서 읽기/쓰기 모드로 파일 시스템을 다시 마운트 한다는 명령어입니다.
다음 root의 password를 지정해줍니다.
passwd root
SELinux가 켜져있다면 재부팅후 에러가 발생할 수 있기 때문에 설정을 꺼줍니다.
vi /etc/systconfig/selinux # CentOS, Rocky
vi /etc/selinux/config # Ububtu
에서 enforcing을 disable로 바꿔주시면 됩니다.
다음으로
touch /.autorelabel # selinux관련 명령어, 시스템 부팅시 자동 재라벨링 하도록 함
exec /sbin/init # reboot 명령어
를 사용하여 리부트해주면 root의 비밀번호를 바꿀 수 있습니다!
이상 single mode 진입 후 root 암호 변경에 대해 알아봤습니다!
감사합니다.