재부팅하지 않고

재부팅하지 않고

루트 비밀번호를 모르고 시스템에 대한 루트 액세스 권한도 없는 경우 루트 비밀번호를 어떻게 변경할 수 있습니까?

답변1

가장 덜 방해적인 것부터 가장 방해가 되는 것까지 제가 생각할 수 있는 몇 가지 방법은 다음과 같습니다.

재부팅하지 않고

sudo 사용:sudo실행할 권한이 있으면 다음을 passwd수행할 수 있습니다.

sudo passwd root

입력하다당신의비밀번호를 입력한 다음 루트의 새 비밀번호를 두 번 입력합니다. 완료.

파일 편집: 이것은 전체 액세스 권한이 없는 경우에 작동 sudo하지만하다편집할 수 있는 권한이 있습니다 /etc/{passwd,shadow}. 또는 를 사용 /etc/shadow하여 을 엽니다 . 루트의 비밀번호 필드(두 번째와 세 번째 콜론 사이의 모든 임의 문자 )를 자신의 사용자 비밀번호 필드로 바꾸십시오. 구하다. 현지인은 귀하와 동일한 비밀번호를 가지고 있습니다. 로그인하고 비밀번호를 다른 것으로 변경하세요.sudoedit /etc/shadowsudo $EDITOR /etc/shadow:

이것들은 쉬운 것들입니다.

재부팅 필요

단일 사용자 모드: 이것은 Renan이 방금 설명한 것입니다. GRUB(또는 부트로더)에 접근할 수 있고 Linux 명령줄을 편집할 수 있으면 작동합니다. Debian, Ubuntu 등을 사용하는 경우에는 작동하지 않습니다. 일부 부트로더 구성에서는 이를 수행하기 위해 비밀번호가 필요하며, 계속 진행하려면 비밀번호를 알아야 합니다. 더 이상 고민하지 않고:

  1. 재부팅합니다.
  2. 부팅 시 비밀번호가 있으면 입력하세요.
  3. 부트로더 메뉴로 들어갑니다.
  4. 단일 사용자 모드를 사용할 수 있으면 해당 모드를 선택하십시오(데비안에서는 이를 '복구 모드'라고 부릅니다).
  5. 그렇지 않은 경우 GRUB을 실행합니다.
    1. 일반 부팅 옵션을 강조 표시합니다.
    2. e편집 모드로 들어가려면 누르세요 . 거기에서 GRUB 비밀번호를 묻는 메시지가 나타날 수 있습니다.
    3. kernel또는 로 시작하는 줄을 강조 표시합니다 linux.
    4. 누르다 e.
    5. 끝에 'single'이라는 단어를 추가하세요. (앞에 공백을 두는 것을 잊지 마세요!)
    6. Enter편집된 스탠자를 누르고 부팅합니다. 일부 GRUB는 Ctrl- 를 사용 X하고 일부는 을 사용합니다 b. 화면 하단에 어느 것이 있는지 나와 있습니다.

시스템이 단일 사용자 모드로 부팅됩니다. 일부 배포판에서는 이 시점에서 루트 비밀번호를 묻지 않습니다(Debian 및 Debian 기반 배포판에서는 묻습니다). 이제 루트가 되었습니다. 비밀번호를 변경하세요:

mount / -o remount,rw
passwd # Enter your new password twice at the prompts
mount / -o remount,ro
sync # some people sync multiple times. Do what pleases you.
reboot

reboot, 또는 일반적인 런레벨을 알고 있다면 telinit 2(또는 무엇이든) 말하십시오.

교체init: 표면적으로는 단일 사용자 모드 트릭과 유사하며 지침은 거의 동일하지만 명령줄에 대해 훨씬 더 많은 능력이 필요합니다. single위와 같이 커널을 부팅하지만 init=/bin/sh. 이는 /bin/sh대신 실행되며 init다음을 제공합니다.매우편의시설이 거의 없는 초기 껍질. 이 시점에서 귀하의 목표는 다음과 같습니다.

  1. 루트 볼륨을 마운트합니다.
  2. 달려라 passwd.
  3. 명령 을 사용하여 비밀번호를 변경하십시오 passwd.

특정 설정에 따라 이러한 작업은 사소할 수도 있고(단일 사용자 모드에 대한 지침과 동일) 모듈 로드, 소프트웨어 RAID 초기화, 암호화된 볼륨 열기, LVM 시작 등 매우 사소하지 않을 수도 있습니다. 가 없으면 init데몬이나 다른 프로세스를 실행하는 것이 아니라 /bin/sh해당 하위 프로세스를 실행하므로 말 그대로 혼자서 실행하게 됩니다. 또한 작업을 제어할 수 없으므로 입력할 때 주의하세요. 하나가 잘못 배치되어 cat빠져나올 수 없으면 재부팅해야 할 수도 있습니다.

복구 디스크: 이건 쉽네요. 원하는 복구 디스크를 부팅합니다. 루트 파일 시스템을 마운트하십시오. 프로세스는 볼륨이 계층화되는 방식에 따라 다르지만 결국 다음과 같이 요약됩니다.

 # do some stuff to make your root volume available.
 # The rescue disk may, or may not do it automatically.
 mkdir /tmp/my-root
 mount /dev/$SOME_ROOT_DEV /tmp/my-root
 $EDITOR /tmp/my-root/etc/shadow
 # Follow the `/etc/shadow` editing instructions near the top
 cd /
 umount /tmp/my-root
 reboot

분명히 $SOME_ROOT_DEV이것은 복구 디스크에 의해 루트 파일 시스템에 할당된 블록 장치 이름이며 여러분이 가장 좋아하는 편집기입니다( 복구 시스템에 $EDITOR있어야 할 수도 있음 ). vi이후에는 reboot머신이 정상적으로 부팅되도록 허용합니다. 루트의 비밀번호는 자신의 사용자 비밀번호가 됩니다. 루트로 로그인하고 즉시 변경하십시오.

다른 방법들

분명히 위의 내용에는 수많은 변형이 있습니다. 그것들은 모두 두 단계로 요약됩니다.

  1. 컴퓨터에 대한 루트 액세스 권한을 얻습니다(catch-22 — 실제 트릭)
  2. 어떻게든 루트의 비밀번호를 변경하세요.

답변2

이것은 거의 모든 배포판에서 작동할 것이라고 생각합니다.

다른 시스템(예: 라이브 CD)에서 루트 파티션에 액세스할 수 있는 경우 해당 시스템에서 루트로 편집할 수 있습니다 /etc/shadow. 먼저 해야 합니다 chmod u+w shadow. 에 대한 항목을 찾으세요 root. 아마도 첫 번째 항목일 것이며 다음과 같습니다.

root:$6$asdG0[..etc...]ae/:15666:0:99999:7:::

처음 두 콜론 사이의 모든 내용을 지워서 다음과 같은 결과를 얻습니다.

root::15666:0:99999:7:::

그 다음에 chmod u-w shadow. 이제 시스템을 재부팅할 수 있으며 루트에는 비밀번호가 없습니다. 로그인 프롬프트에 입력만 하면 root입력을 요구하지 않습니다. 그런 다음 passwd을 사용하여 설정할 수 있습니다 .

특별히 주의해야 할 사항은 다음과 같습니다.

  • 첫 번째 백업 복사본을 만듭니다 /etc/shadow.
  • 새 비밀번호를 설정할 때까지 루트 이외의 다른 사용자로 로그인하지 마십시오. 이는 중요하지는 않지만 권한이 없는 악성 코드가 일종의 공격을 가할 이론적 가능성을 방지합니다.안녕 메리 패스("어쩌면 루트 비밀번호가 없을 수도 있겠네요..."). 좀 말도 안되는 IMO.

답변3

내가 취한 태그로 판단하면 RHEL을 사용하고 있지만 이 솔루션은 모든 배포판에서 동일하게 작동해야 합니다.

루트 암호를 잊어버린 경우 단일 사용자 모드로 부팅하고 이를 사용하여 암호를 변경할 수 있습니다. 이 접근 방식은 다음 항목에 설명되어 있습니다.Red Hat 단계별 가이드:

  1. GRUB 메뉴로 들어가서 키를 누릅니다 e.
  2. 로 시작하는 줄을 선택하고 다시 kernel누릅니다 e.
  3. 이 줄 끝에 single. 그런 다음 누르고 그것에서 oot ENTER.b

passwd root결국 비밀번호를 입력하고 변경할 수 있는 프롬프트가 표시됩니다 . 그런 다음 reboot시스템을 재부팅하려면 입력하세요.

관련 정보