![루트 비밀번호를 재설정하기 위해 "init"와 "rd.break"를 사용하는 것의 차이점은 무엇입니까?](https://linux55.com/image/5579/%EB%A3%A8%ED%8A%B8%20%EB%B9%84%EB%B0%80%EB%B2%88%ED%98%B8%EB%A5%BC%20%EC%9E%AC%EC%84%A4%EC%A0%95%ED%95%98%EA%B8%B0%20%EC%9C%84%ED%95%B4%20%22init%22%EC%99%80%20%22rd.break%22%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EB%8A%94%20%EA%B2%83%EC%9D%98%20%EC%B0%A8%EC%9D%B4%EC%A0%90%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
루트 사용자의 비밀번호를 재설정하는 여러 가지 방법을 알고 있지만 어떤 방법이 가장 좋고 그 이유가 무엇인지 알고 싶습니다. 예를 들면
다음과 같습니다.
- 그럽>e
init=/bin/sh
(rhgb
필요한 경우 삭제하고 표시) > +quiet
Ctrlx/usr/sbin/load_policy -i
mount -o remount,rw /
passwd root
또는passwd
mount -o remount,ro /
방법 B:
- 그럽>e
rd.break
> Ctrl+xmount -o remount,rw /sysroot/
chroot /sysroot/
passwd root
또는passwd
touch /.autorelabel
어느 것이 가장 좋나요? 왜 최고입니까? 저는 RHCSA(Red Hat Certified System Administrator) 시험을 준비하고 있습니다. 각 접근 방식의 상대적 장점을 알아야 합니다. 그 중 하나가 더 휴대성이 좋나요? 더 안전합니까? 다른 것보다 하나를 선택하는 이유가 있습니까?
답변1
가장 좋은 접근 방식은 Red Hat이 보여준 것과 같습니다.문서.
이것이 두 번째 방법입니다. GRUB2/RHEL7의 경우 단일/긴급 모드는 sulogin
명령 프롬프트를 표시하기 전에 사용자를 인증하는 데 사용되므로 작동하지 않아야 합니다 .
그럼 다양한 방법을 구별해 봅시다.
RHEL5, RHEL6의 경우 커널 명령줄 에
1
또는 를 추가합니다.s
init=/bin/bash
RHEL7, RHEL8, CentOS7, CentOS8의 경우 커널 명령줄에
rd.break
또는 추가init=/bin/bash
RHEL5 및 RHEL6에서는 두 번째 방법을 사용할 수 없는 것 같습니다. 그러나 RHEL7의 경우 단일 모드가 비밀번호로 보호되는 경우 init=/bin/bash를 추가하는 것이 약간 까다롭고 추가하는 것이 rd.break
이를 표준화하는 방법이기 때문에 첫 번째 모드를 선호합니다.
답변2
"rd.break"의 "rd" 부분은 초기 램디스크(initrd) 환경인 램디스크를 나타냅니다.
두 번째 방법(rd.break 사용)은 RHEL7에 더 적합합니다. 일부 시스템(USB 키보드 또는 가상 머신 포함)은 실제로 재부팅할 때 비밀번호가 설정되지 않은 것 같습니다. 어쩌면 예상한 비밀번호가 아닌 ramdisk 내부의 /etc/shadow에 대한 비밀번호를 설정했을 수도 있습니다.
이것이 USB 키보드와 어떤 관련이 있는지는 모르겠지만 지금까지의 지식 기반과 내 경험에 따르면 그렇습니다. 나는 이것이 루트 파일 시스템이 LVM에 있는지 여부와 더 관련이 있다고 생각합니다(힌트: dracut).