루트 비밀번호를 재설정하기 위해 "init"와 "rd.break"를 사용하는 것의 차이점은 무엇입니까?

루트 비밀번호를 재설정하기 위해 "init"와 "rd.break"를 사용하는 것의 차이점은 무엇입니까?

루트 사용자의 비밀번호를 재설정하는 여러 가지 방법을 알고 있지만 어떤 방법이 가장 좋고 그 이유가 무엇인지 알고 싶습니다. 예를 들면

다음과 같습니다.

  1. 그럽>e
  2. init=/bin/sh( rhgb필요한 경우 삭제하고 표시) > +quietCtrlx
  3. /usr/sbin/load_policy -i
  4. mount -o remount,rw /
  5. passwd root또는passwd
  6. mount -o remount,ro /


방법 B:

  1. 그럽>e
  2. rd.break> Ctrl+x
  3. mount -o remount,rw /sysroot/
  4. chroot /sysroot/
  5. passwd root또는passwd
  6. touch /.autorelabel

어느 것이 가장 좋나요? 왜 최고입니까? 저는 RHCSA(Red Hat Certified System Administrator) 시험을 준비하고 있습니다. 각 접근 방식의 상대적 장점을 알아야 합니다. 그 중 하나가 더 휴대성이 좋나요? 더 안전합니까? 다른 것보다 하나를 선택하는 이유가 있습니까?

답변1

가장 좋은 접근 방식은 Red Hat이 보여준 것과 같습니다.문서.
이것이 두 번째 방법입니다. GRUB2/RHEL7의 경우 단일/긴급 모드는 sulogin명령 프롬프트를 표시하기 전에 사용자를 인증하는 데 사용되므로 작동하지 않아야 합니다 .

그럼 다양한 방법을 구별해 봅시다.

  1. RHEL5, RHEL6의 경우 커널 명령줄 에 1또는 를 추가합니다.sinit=/bin/bash

  2. 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).

관련 정보