CentOS root 비번 분실시 처리방안

CentOS root 비밀번호를 분실했을 때 복구하는 방법은 다음과 같습니다.

  1. CentOS 가상 머신을 재부팅합니다.

  2. 부팅 초기 화면에서 GRUB 부트로더가 나타나면 아무 키나 눌러 카운트다운을 멈춥니다.

  3. 복구하려는 커널 항목에서 ‘e’ 키를 눌러 편집 모드로 진입합니다.

  4. linux16 또는 linux로 시작하는 라인 끝으로 이동한 후 다음 중 하나를 추가하거나 수정합니다.

    • “rd.break”를 추가 (initramfs 진입용)

    • 또는 “init=/bin/bash” 또는 “init=/bin/sh”를 추가 (bash 쉘로 부팅)

  5. Ctrl + X를 눌러 수정 내용을 저장하고 부팅을 진행합니다.

  6. initramfs 쉘이나 bash 쉘이 나타나면,

    • 만약 initramfs 쉘일 경우 다음 명령어를 입력해 파일 시스템을 읽기/쓰기 모드로 마운트하고 chroot합니다.

      text
      mount -o remount,rw /sysroot
      chroot /sysroot
    • bash 쉘일 경우 아래 명령어로 바로 진행 가능.

  7. root 비밀번호를 새로 설정합니다.

    text
    passwd root
  8. SELinux가 활성화된 경우 변경사항 적용을 위해 다음 명령어를 실행합니다.

    text
    touch /.autorelabel
  9. 시스템을 정상적으로 재부팅합니다.

    • initramfs 모드에서는 exit를 두 번 입력하거나,

    • bash 모드에서는 다음 명령어로 재부팅합니다.

    text
    exec /sbin/init

    또는

    text
    reboot -f

이후 새로 설정한 root 비밀번호로 로그인할 수 있습니다.

요약하면, GRUB에서 부팅 옵션을 수정해 단일 사용자 모드로 진입 후 루트 파일시스템을 쓰기 모드로 변경, passwd 명령어로 비밀번호를 재설정하고 시스템을 재부팅하는 방식입니다.

CentOS root 비번 분실시 처리방안

“passwd: Authentication token manipulation error” 오류는 주로 다음과 같은 원인으로 발생합니다:

  • 루트(/) 파일시스템이 읽기 전용(read-only)으로 마운트되어 있을 때

  • /etc/shadow 파일 권한이 잘못 설정되어 있을 때

  • 디스크 공간 부족

  • 파일 시스템 오류

  • PAM(Pluggable Authentication Module) 설정 문제 등

이 오류를 해결하는 주요 방법은 다음과 같습니다:

  1. 루트 파일시스템을 읽기/쓰기 모드로 재마운트:

    text
    mount -o remount,rw /
  2. /etc/shadow 파일의 권한을 올바르게 설정:

    text
    chmod 0640 /etc/shadow
  3. 디스크 공간이 충분한지 확인하고, 부족하면 불필요한 파일을 삭제하여 공간 확보

  4. 파일 시스템 오류가 의심된다면 재부팅 후 또는 복구 모드에서 fsck를 사용해 점검 및 복구

    text
    fsck -f /
  5. 필요 시 시스템 재부팅 후 다시 시도해보기

이 조치 후 passwd 명령어로 비밀번호 변경을 다시 시도하면 오류 없이 성공할 가능성이 높습니다.​