ROOT 계정 비밀번호 초기화
root 계정의 패스워드를 초기화해야 하는 몇 가지 일반적인 상황은 다음과 같습니다.
- 패스워드를 잊은 경우
- 보안 문제로 패스워드 변경이 필요한 경우
- 계정이 잠긴 경우
- 패스워드 해시 파일(/etc/passwd 또는 /etc/shadow) 손상으로 로그인이 불가능한 경우
- 계정 관리 도구를 사용하지 못하는 경우
위와 같은 문제가 발생 했을 때 아래의 방법으로 문제를 해결 할 수 있습니다.
Bourne 쉘 (sh) 에 진입 하여 초기화 하기
- 부팅 화면에서 ‘e’ 를 눌러 편집모드에 진입합니다.
- ‘linux’의 라인 마지막에 ‘rd.beak’ 을 추가합니다. (Ctrl + e 입력 시 줄의 맨 끝으로 이동)
- Ctrl + x 명령어로 재부팅 후 switch_root 로 접속합니다.
mount 명령어를 통해 /sysroot 에 쓰기 권한을 추가합니다.# mount와 grep명령어를 사용하여 /sysroot의 권한을 확인합니다 (ro=Read Only). mount | grep -w /sysroot /dev/mapper/cs-root on /sysroot type xfs (ro,relatime,attr2,inode64,logbufs=8,logbsize=32k,noquota) # mount명령어로 w(쓰기) 권한 추가하기 mount -o rw,remount /sysroot # 다시 확인 해보면 ro -> rw로 변경된 것을 확인할 수 있습니다. mount | grep -w /sysroot /dev/mapper/cs-root on /sysroot type xfs (rw,relatime,attr2,inode64,logbufs=8,logbsize=32k,noquota)
- 패스워드 변경 후 재부팅 하기
# 현재 프로세스의 루트 디렉토리를 '/sysroot'로 변경 (sh-5.1#로 프롬포트 변경됨) chroot /sysroot # passwd를 변경하는 명령어이다. successfully는 성공적으로 변경되었다는 메시지이다. passwd # touch 명령어로 'autorelabel'라는 이름의 숨긴 파일 생성 # 'autorelabel' 파일을 생성을 하지 않으면 변경된 내용이 저장이 되지 않거나 접속이 안될 수 있습니다. touch /.autorelabel
exit 명령어 또는 Ctrl + d 단축기 2번으로 쉘에서 나와 재부팅을 합니다.
재부팅이 끝나면 성공적으로 패스워드가 변경되었음을 확인할 수 있습니다.
bash 쉘에 진입 하여 초기화 하기
- 위와 똑같은 방법으로 부팅 화면에서 ‘e’ 를 눌러 편집모드에 진입합니다.
- 편집모드 상태에서 ro -> rw 로 rhgb quiet -> init=/bin/bash 수정합니다.
- Ctrl + x 명령어를 눌러 쉘 모드로 부팅합니다.
# 위에서 했던 방법과 같이 touch 명령어로 'autorelabel' 파일 생성 touch /.autorelabel # passwd 명령어로 비밀번호를 변경 passwd # exec 명령어로 재부팅을 합니다. exec /sbin/init
재부팅이 끝나고 나면 패스워드가 변경된 것을 확인할 수 있습니다.