기존의 리눅스 서버의 root 계정의 비밀번호를 분실 했다면 아래 간단한 과정을 통해서 쉽게 해결이 가능합니다.
분실 후 당황하지 말고 아래와 같은 단계로 천천히 따라하면서 해결해보세요.
linux root 패스워드 분실 시 해결
시스템을 다시 시작하고 GRUB 부트 로더(부팅 시 나타나는 메뉴) 화면이 나타나면 e키를 눌러 편집 모드로 전환합니다.
- GRUB(Grand Unified Bootloader) 부트 로더는 리눅스 및 유닉스 기반 운영 체제에서 가장 널리 사용되는 부트 로더입니다.
- GRUB는 하드 디스크, 플랍피 디스크, CD-ROM, USB 장치 등에서 컴퓨터를 부팅할 수 있도록 지원
해당 줄 끝에 다음과 같은 인수를 추가하십시오. 이렇게 하면 단일 사용자 모드로 부팅하고 루트 셸을 시작합니다.
rd.break는 리눅스 부팅 시에 사용되는 커널 커맨드 라인 인수입니다.
시스템을 비상(recue) 모드로 부팅할 때 사용되며, 초기 RAM 디스크(initramfs) 과정 중에 실행이 일시 중지됩니다.
사용자가 문제 원인을 조사하거나 시스템 복구를 수행할 수 있는 루트 셸에 액세스할 수 있습니다.
rd.break를 사용하면 시스템의 루트 파일 시스템을 수정할 수 있으며, 루트 비밀번호를 잊어버렸을 때 비밀번호 재설정 작업에 매우 유용
아래 사진과 같이 rd.break 입력 후 Ctrl + x or F10을 눌러서 부팅 시켜주시면 됩니다.
/sysroot를 읽기/쓰기 모드로 다시 마운트
# mount -o remount,rw /sysroot
비상 모드나 초기 루트 셸 접근에서 로컬 루트 파일 시스템이 읽기 전용(read-only) 모드로 마운트되기 때문에 읽기 전용 모드에서는 파일 시스템에 수정 사항을 적용할 수 없으므로, 루트 비밀번호를 변경하거나 어떤 설정 변경 작업을 수행하려면 파일 시스템이 읽기/쓰기 (read-write) 모드로 변경해야함
/sysroot를 Chroot 환경으로 변경합니다
chroot /sysroot 명령은 현재 실행 중인 프로세스의 루트 디렉터리를 /sysroot로 변경하라는 뜻
# chroot /sysroot
passwd 명령어를 통해서 새로운 root 비밀번호를 지정해주시면 됩니다.
# passwd root
sysroot를 rw로 변경 했으므로 작업 종료 후에는 원래 상태은 ro로 변경하시면 됩니다.
변경이 끝나면 reboot 명령어를 통해서 시스템을 재기동합니다.
sh5.1# exit
exit
switch_root:/# mount -o remount,ro /sysroot
switch_root:/# reboot
재부팅 하시고 새로 만드신 root의 패스워드를 입력하면 정상적으로 접근이 가능합니다.
감사합니다.