2swan

[Linux] CentOS root 패스워드 분실시 초기화 본문

System of Infra/Linux

[Linux] CentOS root 패스워드 분실시 초기화

2swan 2024. 11. 22. 14:24

패스워드 변경 시 문자가 깨지는 현상 때문에 'LANG=en_US.UTF-8' 수정

 

▶Bash 쉘(SH) 에 진입 하여 초기화

1. 부팅 시 커널 선택 화면에서 선택된 커널이 자동으로 시작 되기 전 방향키를 멈춘후, 부트로더 스크립트를 수정할 수 있도록  e 를 누른다.

 

 

 

2. linux16 or linuxefi 로 시작하는 부분을 찾아 수정

1) ro → rw

2) rhgb quiet → init=/bin/bash 

3) Ctrl + x 누르면, 쉘 모드로 접속 되며  bash-4.2# 으로 프롬프트 된다.

4) export LANG=C : vm에서 한글이 깨지기 때문에 locale을 C로 변경

 

 

 

3. 비밀번호가 성공적으로 완료가 되면 아래의 방법 진행

# touch /.autorelabel :

부팅 시 파일의 selinux 컨텍스트 변경을 확정하기 위해서 명령을 실행. (변경 사항을 저장)

chroot 명령어를 사용하여 root 디렉토리를 변경할 경우 파일에 대한 레이블 정보가 모두 삭제된다. 따라서 파일에 대한 라벨링이 필요하다.

/.autorelabel 파일을 생성하면 파일에 대한 레이블을 자동으로 부여하고 해당 파일은 삭제된다.

 

 

4. passwd 를 이용하여 root 비밀번호 변경

# passwd

 

※ Authentication token manipulation error 발생 시

$ mount -o remount, rw /

$ chmod 640 /etc/shadow

$ passwd

 

 

 

5. 재부팅

# exec /sbin/init

 

 


▶Bourne 쉘(SH) 에 진입하여 초기화

1. OS 재부팅 후 GRUB 메뉴에서 e 버튼을 클릭

 

 

 

2. linux16 or linuxefi ~ 을 시작하는 라인의 맨 끝(UTF-8) 뒤에 rd.break 입력 후 Ctrl + X 명령어로 재부팅 후 switch_root로 접속

# rd.break

# export LANG=C : vm에서 한글이 깨지기 때문에 locale을 C로 변경

 

 

3. 마운트 정보 확인. 아래 명령으로 확인해보면 /sysroot 가 읽기전용(ro)로 마운트 되어 있으므로 읽기/쓰기 가능하도록 재마운트 한다.

# mount | grep -i sysroot

# mount | grep -w /sysroot : /sysroot 권한 확인

 

 

 

3. rd.break 옵션으로 인해 root file system이 mount 되기전에 중단된다. /sysroot 디렉터리를 읽기/쓰기로 재마운트

# mount -o rw,remount /sysroot or

# mount -o remount,rw /sysroot

 

 

 

4. 루트 파일 시스템을 변경하기 위해 chroot 명령 실행. chroot는 linux 시스템의 root(/) 디렉터리 위치를 변경하는 것이다(root 계정 변경은 아니고 최상위 디렉터리의 위치를 변경하는 명령어다). 루트 파일 시스템이 변경되면 최상위 디렉터리의 위치를 변경하는 명령어다.

# chroot /sysroot

 

 

5. root 패스워드 변경

# passwd or passwd root

 

 

 

6. SELinux relabel을 자동으로 수행하도록 구성. 가상의 디렉터리에서 파일을 수정하고 autorelabel 해주지 않으면 실제 부팅 때 레이블 정보가 저장되지 않은 상태로 부팅된다.

# touch /.autorelabel or fixfies onboot

 

 

7. chroot에서 빠져나옴

# exit or Ctrl+d

 

8. 재부팅

# exit or reboot or Ctrl+d

 

 


▶CentOS 6

1. reboot 하여 재시작

 

 

2. 해당 화면에서 ESC 버튼을 눌러준다 (아무 버튼 가능)

 

 

3. 화면에서 e 입력

 

 

4. 커널에 커서를 두고 e 입력

 

 

5. 한 칸 띄우고 single 입력

 

 

6. 다시 돌아오게 되는데 b 입력

 

 

7. cli 모드로 진입하게 되는데 passwd 입력 하여 비번 변경 후 reboot

'System of Infra > Linux' 카테고리의 다른 글

리눅스 OS 버전 확인  (0) 2024.12.06
hostname 변경  (0) 2024.12.05
리눅스 tab(자동완성) 안될 시  (0) 2024.11.20
bashsrc, bash_profile  (0) 2024.10.14
swp 파일  (0) 2024.10.14