루트 암호를 모르고 컴퓨터에 대한 루트 액세스 권한이없는 경우 어떻게 루트 암호를 변경할 수 있습니까?
루트 암호를 모르고 컴퓨터에 대한 루트 액세스 권한이없는 경우 어떻게 루트 암호를 변경할 수 있습니까?
답변:
가장 방해가되지 않는 것부터 가장 방해가되는 것까지 제가 생각할 수있는 몇 가지 방법이 있습니다.
sudo :를sudo
사용하여 실행할 권한이 있으면 다음 을 수행 passwd
할 수 있습니다.
sudo passwd root
입력 하여 암호를 두 번 누른 다음 루트에 대한 새 암호를 입력합니다. 끝난.
파일 편집 : 이것은 모든 경우에 sudo
액세스 할 수 없지만 편집 할 수 는 없습니다 /etc/{passwd,shadow}
. 또는 /etc/shadow
로을 엽니 다 . 루트 비밀번호 필드 (두 번째 콜론과 세 번째 콜론 사이의 모든 임의 문자 )를 사용자의 비밀번호 필드로 바꾸십시오. 저장하기. 로컬의 비밀번호는 귀하와 동일합니다. 로그인하고 비밀번호를 다른 것으로 변경하십시오.sudoedit /etc/shadow
sudo $EDITOR /etc/shadow
:
이것들은 쉬운 것입니다.
단일 사용자 모드 : 이것은 Renan에 의해 방금 설명되었습니다. GRUB (또는 부트 로더)에 가면 Linux 명령 줄을 편집 할 수있을 때 작동합니다. 데비안, 우분투 및 다른 것들을 사용하면 작동하지 않습니다. 일부 부트 로더 구성에는 암호가 필요하므로 계속 진행하려면 암호를 알아야합니다. 더 이상 고민하지 않고 :
kernel
또는로 시작하는 줄을 강조 표시하십시오 linux
.단일 사용자 모드에서 시스템이 부팅됩니다. 일부 배포판에서는이 시점에서 루트 암호를 요구하지 않습니다 (데비안 및 데비안 기반 암호). 당신은 지금 뿌리입니다. 비밀번호 변경 :
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
, 당신은 dæmons 또는 다른 프로세스를 실행 하지 않고 /bin/sh
그 하위 프로세스를 실행 하므로 문자 그대로 꽤 있습니다. 작업 제어 기능도 없으므로 입력 내용에주의하십시오. 잘못 배치 cat
되어 빠져 나오지 않으면 재부팅해야 할 수도 있습니다.
Rescue Disk : 이것은 쉽습니다. 선택한 복구 디스크를 부팅하십시오. 루트 파일 시스템을 마운트하십시오. 프로세스는 볼륨이 계층화되는 방식에 따라 다르지만 결국 다음과 같이 요약됩니다.
# 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
정상적으로 부트 할 수 있도록; root의 비밀번호는 자신의 사용자 비밀번호입니다. 루트로 로그인하여 즉시 변경하십시오.
분명히, 위와 같은 수많은 변형이 있습니다. 그들은 모두 두 단계로 요약됩니다.
이것은 거의 모든 배포판에서 작동해야한다고 생각합니다.
다른 시스템, 예를 들어 라이브 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
먼저 백업 사본을 작성하십시오 .passwd
라이브 CD의 chroot 환경에서 실행하는 것이 더 좋지 않을까요?
태그에서 판단하면 RHEL을 사용하고 있지만이 솔루션은 모든 배포판에서 동일하게 작동합니다.
루트 암호를 잊어 버린 경우 단일 사용자 모드로 부팅하고이 암호를 사용하여 암호를 변경할 수 있습니다. 이 방법은 Red Hat 단계별 가이드에 설명되어 있습니다 .
kernel
누릅니다 e.single
. 다음 Enter 키를 누릅니다 ENTER과 b그것에서 OOT.결국 passwd root
암호를 입력 하고 변경할 수있는 프롬프트가 표시 됩니다. 그런 다음 입력 reboot
하여 시스템을 재부팅하십시오.
/boot/grub/grub.conf
부트 로더 암호를 제거하고 /etc/inittab
단일 사용자 쉘을 / bin / sh (cc @pradeepchhetri)와 같은 것으로 변경 하기 위해 편집 할 수 있습니다