본문 바로가기
리눅스-Linux

🖥️ CentOS 8 - 싱글 유저 모드 및 ROOT 패스워드 초기화 방법 (rd.break 활용)

by info4503 2025. 2. 25.

안녕하세요! 😊
이번에는 GRUB 부트 옵션에서 rd.break를 활용하여 Root 패스워드를 초기화하는 방법을 정리해보겠습니다.

이 방법은 파일 시스템을 마운트하지 않은 상태에서 루트 패스워드를 변경할 수 있어 보다 안전한 방법입니다.
바로 시작해볼까요? 🚀


🔍 1. rd.break란?

✅ rd.break 옵션은 부팅 과정에서 initramfs 단계에서 멈추도록 설정하는 기능입니다.
✅ 파일 시스템이 완전히 마운트되기 전에 루트 쉘에 접근할 수 있어, Root 패스워드를 안전하게 변경할 수 있음
✅ GRUB에서 간단한 수정만으로 실행 가능


🔄 2. rd.break를 이용한 싱글 유저 모드 진입

📌 2.1 GRUB 부트 메뉴 열기

1️⃣ 서버를 재부팅합니다.
2️⃣ GRUB 화면이 나타나면 아무 키나 눌러 멈춥니다.
3️⃣ CentOS 8 커널을 선택한 상태에서 e 키를 누릅니다.


🛠 3. GRUB 편집 모드에서 rd.break 추가

📌 3.1 "linux" 줄 찾기

화면이 전환되면 여러 줄의 설정이 보이는데,
linux 또는 linux16으로 시작하는 줄을 찾습니다.

예제)

linux /vmlinuz-4.18.0-xxx root=/dev/mapper/centos-root ro crashkernel=auto ...

📌 3.2 rd.break 추가

해당 줄 끝 부분에 rd.break 를 추가합니다.

✅ 수정 전:

linux /vmlinuz-4.18.0-xxx root=/dev/mapper/centos-root ro crashkernel=auto

✅ 수정 후:

linux /vmlinuz-4.18.0-xxx root=/dev/mapper/centos-root ro crashkernel=auto rd.break

📌 Tip!

  • rd.break는 파일 시스템이 마운트되기 전에 루트 쉘을 실행하도록 함
  • 기존 방법보다 더 안전하게 루트 패스워드 변경 가능

✅ 수정이 완료되었으면 Ctrl + X 를 눌러 부팅을 계속 진행합니다.


🔑 4. Root 패스워드 초기화

📌 4.1 루트 파일 시스템을 읽기/쓰기 모드로 변경

부팅이 멈추고 아래와 같은 쉘 프롬프트가 나타납니다.

switch_root:/#

기본적으로 파일 시스템이 읽기 전용(Read-Only) 상태이므로,
아래 명령어를 입력하여 읽기/쓰기(Read-Write) 모드로 변경합니다.

mount -o remount,rw /sysroot

📌 4.2 Chroot 환경으로 진입

chroot /sysroot

이제 /sysroot를 기본 루트 파일 시스템처럼 사용할 수 있습니다.


📌 4.3 Root 패스워드 변경

아래 명령어를 입력하여 패스워드를 변경하세요.

passwd root

새로운 패스워드를 입력하고 확인을 위해 다시 입력합니다.

✅ 성공 메시지 예시

New password: (새 비밀번호 입력)
Retype new password: (다시 입력)
passwd: all authentication tokens updated successfully.

✅ 패스워드 변경이 정상적으로 완료되었는지 확인하세요!


⚙ 5. SELinux 재설정 및 재부팅

📌 5.1 SELinux 보안 컨텍스트 재설정

SELinux가 활성화된 상태에서 패스워드를 변경하면 보안 설정 문제로 로그인할 수 없을 수도 있습니다.
아래 명령어를 실행하여 보안 컨텍스트를 재설정하세요.

touch /.autorelabel

✅ 이 작업을 하지 않으면 부팅 후 로그인 문제가 발생할 수 있습니다.


📌 5.2 시스템 재부팅

이제 아래 명령어를 실행하여 시스템을 재부팅합니다.

exit
exit

✅ 두 번 exit을 입력하면 시스템이 자동으로 재부팅됩니다.

또는 강제 재부팅하려면 다음 명령어를 입력하세요.

reboot -f

이제 새로운 패스워드로 Root 계정에 로그인할 수 있습니다! 🚀


🎯 마무리

오늘은 CentOS 8에서 rd.break 옵션을 활용하여 싱글 유저 모드로 진입하고 Root 패스워드를 초기화하는 방법을 배웠습니다.

✅ 핵심 요약

GRUB 부트 메뉴에서 e 키를 눌러 커널 옵션 수정
"linux" 줄 끝에 rd.break 추가 후 Ctrl+X 눌러 부팅
파일 시스템을 읽기/쓰기 모드로 변경 후 chroot 환경 진입
passwd root 명령어로 패스워드 변경
SELinux 보안 컨텍스트 재설정(touch /.autorelabel) 후 재부팅

📌 이 방법을 활용하면 루트 패스워드를 안전하게 초기화할 수 있습니다.
🚀 도움이 되셨다면 댓글과 공유 부탁드립니다! 😊