Windows의 Ubuntu / Linux Bash에서 비밀번호 재설정


191

Windows 10 (Microsoft에서 사용 가능)에 Linux Bash를 설치했지만 암호를 잊었습니다.

해결책을 찾았지만 복구 모드에 액세스하는 것과 같이 시스템 부팅 전에 무언가를 수행하는 제안 만 찾을 수 있지만이 우분투는 Windows 시스템 내의 응용 프로그램이기 때문에이 경우에는 작동하지 않습니다. 자체 부팅 프로세스

비밀번호를 어떻게 재설정합니까?


4
정확히 어떤 비밀번호를 잃어 버렸습니까? Windows 계정 비밀번호?
David Foerster

"booting option"의 예는 grub을 통해 kernel cmdline을 "single"로 설정하여 단일 사용자 모드로 부팅하는 것입니다. 호기심 많은 사람들에게.
kevinf

1
WSL2 (Windows 10 v1903)에서는 변경되었습니다. cmd 또는 powershell에서 루트로 wbun -shell을 시작하십시오. wsl -user root 그런 다음 : passwd <사용자 이름>. wsl을 종료하십시오. 다음에 우분투 쉘프가 열리면 sudo ls는 새로운 루트 암호를 받아들입니다.
jdh

답변:


323
  • bashLinux 사용자 이름을 실행 하고 메모 해 두십시오 (Windows 사용자 이름과 일치하지 않아도 됨). 사용자 이름을 어떻게 찾을 수 있습니까?를 참조하십시오 .
  • Ubuntu가 실행 중이면 Bash를 닫거나 다음 명령이 실패합니다.
  • Windows 관리자 명령 프롬프트 ( Super+ X, A)에서 기본 사용자를 root로 변경하십시오.

    ubuntu config --default-user root
    

WSL에서 Ubuntu 18.04를 사용하는 경우 명령이로 변경되었습니다 ubuntu1804.

ubuntu1804 config --default-user root
  • 이제 Windows의 Ubuntu에서 Bash는 암호를 묻지 않고 루트로 로그인합니다.
  • passwdBash에서 command를 사용 하여 사용자 비밀번호 (비밀번호를 재설정하려는 사용자)를 변경하십시오.

    passwd your_username
    
  • Windows 명령 프롬프트에서 기본 사용자를 다시 일반 사용자로 변경하십시오.

    ubuntu config --default-user  your_username
    

WSL에서 Ubuntu 18.04를 사용하는 경우 명령이로 변경되었습니다 ubuntu1804.

ubuntu1804 config --default-user your_username

전체 비디오를 시청하여 암호를 복구하십시오 Windows Subsystem Linux https://youtu.be/dTR232yvDCE

참고 1 : 비디오에 사용 된 서브 시스템은 Ubuntu가 아니라 Kali Linux입니다. 따라서 명령의 차이입니다.

참고 2 : Anniversary Update와 함께 제공된 원래 Ubuntu 하위 시스템을 계속 사용중인 경우 lxrun 명령을 사용하십시오 . Microsoft Store를 통해 배포 된 하위 시스템 버전으로 업그레이드하는 것이 좋습니다.)


7
lxrunWSL의 베타 버전입니다. 앱 스토어에서 우분투를 설치하면 명령은 ubuntu config --default-user root입니다.
Endy Tjahjono

2
예, 이것은 다른 방법이지만 오류가 발생했습니다 Failed to set default user to: root.
커비

2
@Kirby : Windows 명령 프롬프트에서 명령을 실행하기 전에 WSL 셸에서 로그 아웃해야합니다.
dr01

1
나는 계속해서 Error: 0x80070057 The parameter is incorrect@ dr01의 큐를 따르고 ubuntuPowerShell에서 실행 logout한 다음 기본 사용자를 다시 구성했습니다. 성공 👍
skia.heliou

2
WSL에 ubuntu 18.04를 설치 한 경우 명령은 ubuntu1804대신에 사용 ubuntu됩니다. 이것이 머리를 긁는 것을 막기를 바랍니다.
Indominus

53

위의 작동하지 않았습니다. 기본 사용자를 변경 한 후에도 Bash는 항상 내 사용자와 함께 열립니다.

대신에 나는 이것을했다.

  1. 이 파일을 편집하십시오 (메모장 또는 메모장 ++에서).

    %localappdata%\lxss\rootfs\etc\shadow
    
  2. 예를 들어 일반 사용자를 찾으십시오.

    user1:$jsdjksadgfhsdf.saflsdf.sadf.safd:17299:0:99999:7:::
    

    해시 부분을 제거하십시오 (부분 아래).

    $jsdjksadgfhsdf.saflsdf.sadf.safd
    

    당신은 다른 해시를 보게 될 것입니다-희망합니다 :) 그래서 다음과 같이 보일 것입니다 :

    user1::17299:0:99999:7:::
    
  3. 파일을 저장하십시오

  4. 루트 권한으로 Bash를 다시 시작하고 비밀번호를 설정하십시오.

     sudo bash
     passwd <your-user-name> 
    

    이제 이전 비밀번호를 입력하지 않고도 새 비밀번호를 설정할 수 있습니다.


9
이 작동하지만 공식 디렉토리는 이제 % LOCALAPPDATA % \ 패키지에 \ CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc \ LocalState rootfs \ 등 \ 그림자 \ 비슷합니다
마우로 데스트

11
이것은 지금까지 가장 좋은 대답 입니다. shadow파일 의 경로를 찾으려면 이 PowerShell abomination을 사용할 수 있습니다 . 실행 및 결과 모두에서 Get-ChildItem -Path C:\ -Filter shadow -Recurse -ErrorAction SilentlyContinue -Force매우 장황한 버전입니다 find /mnt/c/ -name shadow. 파일을 편집하기 위해 높은 권한이 필요하지 않지만 bash 창을 닫은 후에 파일을 닫으십시오.
Russ

1
이것이 승자입니다! 첫 번째 답변이 그렇지 않았을 때 훌륭하게 작동했습니다.
Kim

1
허용 된 답변에 '오류 : 0x80070057 매개 변수가 잘못되었습니다.'라는 메시지가 나타납니다. (아니오, 콘솔은 레거시 모드에 없었습니다). 이것은 원활하게 작동했습니다.
Cristi Diaconescu

1
이 답변은 위에서 설명한대로 정확하게 작동했습니다. 첫 번째 대답은 저에게 효과적이지 않았습니다.
Shanemeister

27

편집 상점 설치 WSL 배포가있는 경우 더 이상 작동하지 않습니다.

Tmu의 답변에 추가하기 위해 프로세스를 자동화 하는 Powershell 스크립트 ( gist )가 있습니다 (현재 기본 사용자 이름 자동 감지 포함).

# Resets the password for the default LXSS / WSL bash user
$lxssUsername = (Get-ItemProperty HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Lxss).DefaultUsername
lxrun /setdefaultuser root
bash -c "passwd $lxssUsername"
lxrun /setdefaultuser $lxssUsername

Error 얻기 : powershell의 0 x 8 0 7 0 0 0 2
Nitin Sawant

1

2019-09-05 현재 기존 답변보다 훨씬 간단한 프로세스가 있습니다 (대부분 너무 오래되어 전혀 작동하지 않습니다).

Windows 관리자 명령 프롬프트 ( Super+ X, A)에서 다음을 사용하여 Ubuntu 루트 계정에 로그인 할 수 있습니다

wsl --user root

그런 다음 평소와 같이 비밀번호를 변경하십시오.

passwd

대화식으로 새 비밀번호를 요청합니다 (두 번).


0

루트 암호를 잃어버린 분들을 위해 저에게 효과적 인 것은 Windows Store를 통해 Ubuntu 18.04 LTS로 업데이트하는 것입니다. Windows 스토어에는 두 가지 옵션이 있습니다.

  1. 우분투
  2. 우분투 18.04 LTS ( 이 중 하나를 선택하십시오 )

현재 버전을 확인하려면 사용자로 다음을 실행하십시오.

명령 프롬프트에서 다음을 입력하십시오.

cat /etc/*release

출력에 다음과 같은 줄이 나타납니다.

DISTRIB_RELEASE=16.01

이 메시지가 표시되면 반드시 18.04로 업데이트하면 새 UNIX 자격 증명을 만들라는 메시지가 나타납니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.