*요약*
# GURB 환경에서 부팅될 커널 e로 편집 진입
linux... 라인 끝 rd.break 추가
ctrl+x
# 재부팅 후
mount -o rw,remount /sysroot
chroot /sysroot
passwd
touch /.autorelabel
exit
exit
Rocky Linux로 Root 비밀번호 초기화 작업을 진행하였다.
1. 시스템 재부팅
시스템 재부팅을 통해 GRUB(응급모드,emergency mode) 화면에 진입한다.
GRUB에서 패스워드 초기화가 필요한 항목으로 이동 후 e키를 눌러 항목을 편집한다.
2. rd.break 모드에서 root 암호 복구
root 패스워드를 잃어 버렸을 경우 응급 모드로 진입해도 암호를 모르므로 복구가 불가능하다.
이 때, grub 부팅 옵션에 부팅 프로세스의 초기 단계만 수행하는 rd.break 옵션을 사용해야 한다
(initramfs에서 실제 시스템으로 제어권을 넘기지 않고 부팅 종료)
rd.break 추가 후 ctrl-x 키를 눌러 부팅을 진행한다.
부팅되면 프롬프트가 *switch_root로 표시된다.
*switch_root : 마운트 트리 루트를 다른 파일시스템으로 전환하는 리눅스 명령어
다시 읽기 쓰기로 마운트하기 위해 mount -o rw,remount /sysroot 명령을 사용한다.
루트 파일 시스템을 변경하기 위해 chroot명령을 실행한다.
본인의 경우 이미 파일 시스템이 적용되어 있어 상관없다.
chroot /sysroot
- chroot는 change root의 약자로, linux 시스템의 root(/) 디렉터리 위치를 변경하는 것이다.
(root 계정 변경이 아니다! 최상위 디렉터리의 위치를 변경하는 명령어다.) - 이렇게 루트 파일 시스템이 변경되면 프롬프트가 switch_root에서 sh-5.1로 변경된다.
이제 원래 리눅스 시스템에 반영되므로 passwd 명령을 실행하여 root 암호를 변경할 수 있다.
passwd root
- 패스워드 입력 중 shorter, palindrome 이라는 메세지가 나타날 수 있는데
이는 패스워드 길이나 보안상 취약한 패스워드를 입력하면 나타난다. 경고문만 뜨니 적용에는 문제 없다.
passwd 명령어로 루트 암호를 변경했다면 복구 모드에서 수정한 파일은 SElinux Context가 없어
재부팅시 문제가 되어 로그인이 불가할 수 있다.
다음 명령을 사용하여 재부팅시 자동으로 파일에 대해 SELinux context relabeling을 수행한다.
touch /.autorelabel
or
fixfies onboot
- touch 명령을 파일명 오타를 내도 확인할 수 없으므로 fixfiles onboot 명령을 권장한다.
이후 exit를 입력하고 재부팅하여 암호 정상 변경 여부를 확인한다.
'DevOps > Linux_리눅스' 카테고리의 다른 글
[Linux] OTP 추가 인증 (0) | 2023.03.13 |
---|---|
[Linux] 사용자 계정 생성 (useradd, usermod) (0) | 2023.03.09 |
[Linux] repo 설정 (yum repository) (0) | 2023.01.10 |
[Linux] nmcli/nmtui (1) | 2023.01.09 |
[Linux] 네트워크 설정 검사 (0) | 2023.01.06 |