로그인과 비밀번호를 모두 잊어 버린 경우 어떻게 Linux 랩탑에 로그인합니까?


11

사용자 이름과 비밀번호를 모두 잊어 버린 경우 어떻게 Linux 랩탑에 로그인합니까?


어떤 리눅스 맛입니까? 부트 로더 (Grub 또는 Lilo)가 무엇인지 아십니까?
Caleb

Ubuntu 9.04 서버, 2.6.28.18입니다. GRUB v 0.97 있음
Ankur Agarwal

답변:


17

Grub에서 단일 모드로 드롭 할 수 있습니다. 부팅하는 동안 Esc프롬프트가 나타나면 Grub 부팅 화면을 누릅니다 . 각 커널 목록과 함께 Grub을 표시 할 수도 있습니다.이 경우을 누르지 마십시오 Esc.

여기에서 첫 번째 항목을 선택하고을 눌러 e해당 항목을 편집하십시오. 로 시작하는 줄로 이동 한 kernele다시 누르십시오 .

전체 줄을 편집 할 수 있습니다. 끝이 나올 때까지 오른쪽으로 스크롤 splash quiet하여 줄에서 제거 하고로 바꿉니다 single. 를 눌러 Enter변경 사항을 적용하고를 눌러 b수정 된 커널 라인으로 부팅하십시오. 그러면 단일 사용자 모드로 부팅되며 부팅이 완료되면 루트 셸로 이동해야합니다.

여기에서 시스템에 사용자를 추가하고 사용자 비밀번호를 변경할 수 있습니다.


+1 내가 제안하려고하는 것보다 훨씬 더 나은 답변.
Nathan Osman

1
GRUB이 암호가 아닌 경우에도 위의 방법이 실패하면 Ubuntu livecd (바람직하게는 9.04 서버)에서 부팅 한 다음 Ubuntu 파티션을 마운트 한 다음 그 파티션에 넣으 chroot십시오. 그런 다음 passwd명령을 실행하여 루트, 사용자 등을 재설정 할 수 있습니다 .
laebshade

10

당신은 마르코가 제안한 대로 할 수 있지만, 그의 배포는 모든 배포판에서 작동하지 않습니다. 보다 정확하게 openrc를 사용하는 시스템 에서 루트 암호제공하지 않으면 작동하지 않습니다 .

다른 부팅 가능한 미디어를 사용하지 않고보다 일반적인 방법은 옵션 을 추가 init=/bin/bash하거나 init=/bin/sh부팅하는 것입니다 ( singleMarco의 답변을 따르는 부분).

마지막 대안은 다른 옵션 일 수 있습니다 (livecd와 같은 이동식 미디어에서 부팅하고 시스템의 루트 파티션을 마운트하고 chroot를 사용하거나에 더러워진 작업을 수행하는 것입니다) /etc/shadow. 이것으로 나는 그것을 편집하고 암호 해시 필드를 제거하는 것을 의미합니다. 그러나 그것은 더러운 (읽기 : 위험한 ) 방법입니다. 첫째, /etc/shadow중요한 보안 파일이며 구조상의 오류로 인해 보안 위반이 발생하거나 많은 것들이 깨질 수 있습니다. 오류를 방지하려면 vipw -s명령을 사용하여 편집해야합니다. 그러나 시스템에 chroot 할 때만 가능합니다. 다른 문제는 시스템에서 작동하는 고급 보안 메커니즘에 의해 감지 된 충돌 / 오류로 인해 발생할 수 있습니다. 그러나 나는 지금까지 사용하지 않았으므로 그 문제가 무엇인지 알 수 없습니다.


뭐 같은 더러운 일 ??
amyassin

1
더러움 때문에 답변에 대해 쓰고 싶지 않았습니다 . 암호 해시를 제거한 다음 암호없이 로그인하여 새 암호를 설정했습니다.
rozcietrzewiacz

나는 그것이 최선의 해결책이라고 생각한다.
amyassin

1
직접 편집 /etc/shadow하는 것은 위험합니다. 시스템을 쉽게 엉망으로 만들거나 고급 보안 메커니즘에서 충돌을 일으킬 수 있습니다. 좋아요, 답변을 업데이트하겠습니다.
rozcietrzewiacz

1

오랫동안 우분투 12.04 Linux 상자를 사용하지 않았습니다. 로그인 ID를 잊어 버렸습니다. 다음 접근법을 시도하고 로그인 ID를 얻었습니다.

Grub 부트 로더에서 멈추고 편집하고 명령 행으로 폴백하는 옵션을 찾으십시오. 필자의 경우 편집은 'e'이고 명령 줄은 'c'였습니다. 'e'편집 키를 누르면 부팅 옵션과 명령 행 옵션이 F10Ctrl+ C또는로 변경됩니다 F2.

로더와 부트 로더 (grub) 명령 쉘을 사용하십시오. 그런 다음 ls를 입력하십시오. 디스크의 파티션을 보여줍니다.

#grub> ls
(hd0) (hd0,msdos5) (hd0,msdos1)
#grub>ls << (the partition of your boot kernel, u can see in the grub list against root option. it will be " root = (hd0,msdos1) >>

그렇지 않으면 ls를 사용하여 / etc / issue 또는 관련 파일을 확인하십시오.

내 경우에는 내 리눅스가 (hd0, msdos1)에 설치되었습니다. etc에서 파일 passwd를 확인하십시오.

#ls (hd0,msdos5)/etc/passwd  

그때

#cat (hd0,msdos5)/etc/passwd

파일의 조각 끝에서 사용자 이름을 확인하십시오. 정상적으로 부팅하고 사용자 이름을 사용하여 로그인하십시오.


잊어 버린 비밀번호를 해결하지 않습니다.
Pavel Šimerda
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.