루트 비밀번호를 모르고 시스템에 대한 루트 액세스 권한이 없는 경우 루트 비밀번호를 어떻게 변경합니까?
답변1
가장 덜 방해적인 것부터 가장 방해가 되는 것까지 제가 생각할 수 있는 몇 가지 방법은 다음과 같습니다.
다시 시작할 필요가 없습니다
sudo 사용:sudo
실행할 권한이 있으면 passwd
다음을 수행할 수 있습니다.
sudo passwd root
입력하다당신의비밀번호를 입력한 다음 루트의 새 비밀번호를 두 번 입력합니다. 완벽한.
파일 편집: 이 방법은 전체 액세스 권한이 없는 경우에 작동 sudo
하지만하다편집 권한이 있습니다.열기 /etc/{passwd,shadow}
, /etc/shadow
사용 sudoedit /etc/shadow
또는 사용 sudo $EDITOR /etc/shadow
. 루트의 비밀번호 필드(두 번째와 세 번째 콜론 사이의 모든 임의 문자 :
)를 자신의 사용자 비밀번호 필드로 바꾸십시오. 구하다. 로컬 비밀번호는 귀하의 비밀번호와 동일합니다. 로그인하고 비밀번호를 다른 것으로 변경하세요.
이것들은 간단합니다.
다시 시작해야 함
단일 사용자 모드: 방금 Renan이 설명한 내용입니다. GRUB(또는 부트로더)에 액세스할 수 있고 Linux 명령줄을 편집할 수 있으면 작동합니다. Debian, Ubuntu 및 기타 시스템을 사용하는 경우에는 작동하지 않습니다. 일부 부트로더 구성에서는 이 작업을 수행하기 위해 비밀번호가 필요하며, 계속하려면 비밀번호를 알아야 합니다. 더 이상 번거로움이 없습니다.
- 재시작.
- 시작 비밀번호를 입력합니다(해당하는 경우).
- 부트로더 메뉴로 들어갑니다.
- 단일 사용자 모드를 사용할 수 있으면 해당 모드를 선택하십시오(데비안에서는 이를 "복구 모드"라고 부릅니다).
- 그렇지 않은 경우 GRUB을 실행하십시오.
- 일반 시작 옵션을 강조 표시하십시오.
- e편집 모드로 들어가 려면 누르세요 . GRUB 비밀번호를 입력하라는 메시지가 나타날 수 있습니다.
kernel
또는 로 시작하는 줄을 강조 표시합니다linux
.- 에 따르면 e.
- 끝에 "single"이라는 단어를 추가하세요. (앞에 공백을 추가하는 것을 잊지 마세요!)
- 을 누르고 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
매우초기 인클로저에는 편의 시설이 거의 없었습니다. 이 시점의 목표는 다음과 같습니다.
- 루트 볼륨을 마운트합니다.
- 그냥 실행하세요
passwd
. - 암호를 변경하려면 명령을 사용하십시오
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
머신을 정상적으로 부팅하면 루트의 비밀번호가 사용자의 비밀번호가 됩니다. 루트로 로그인하여 즉시 변경하십시오.
다른 방법
분명히 위의 내용에는 수많은 변형이 있습니다. 그것들은 모두 두 단계로 요약됩니다:
- 컴퓨터에 대한 루트 액세스 권한 얻기(Catch-22 및 실제 트릭)
- 어떻게든 루트의 비밀번호를 변경하세요.
답변2
나는 이것이 어떤 배포판에서도 작동해야 한다고 생각합니다.
다른 시스템(예: Live 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
. - 새 비밀번호를 설정하기 전에 루트 이외의 다른 사람으로 로그인하지 마십시오. 이는 중요하지는 않지만 권한이 없는 맬웨어가 어떤 유형의 공격을 가할 수 있는 이론적 가능성을 방지합니다.헤일 메리 패스("어쩌면 루트 비밀번호가 없을 수도 있겠네요..."). 제 생각에는 조금 무리한 것 같습니다.
답변3
태그로 판단하면 RHEL을 사용하고 있다고 가정하지만 이 솔루션은 모든 배포판에서 동일하게 작동합니다.
루트 비밀번호를 잊어버린 경우 단일 사용자 모드로 부팅하고 이를 사용하여 비밀번호를 변경할 수 있습니다. 이 방법은 다음에 설명되어 있습니다.Red Hat 단계별 가이드:
- GRUB 메뉴로 들어가서 키를 누릅니다 e.
- 로 시작하는 줄을 선택하려면
kernel
을 다시 누릅니다 e. - 이 줄의 끝에 입력 한
single
다음 를 누르고 종료하세요.ENTERb
passwd root
결국 비밀번호를 입력하고 변경할 수 있는 메시지가 표시됩니다 . 그런 다음 reboot
시스템을 다시 시작하려면 입력하십시오.