WSL 2가 설치되어 있고 Kali(이전 버전 1.0)를 사용하고 있습니다. 두 버전 모두 문제가 있습니다. sudo를 사용할 수 없습니다. 일단 실행하면 다음과 같은 결과를 얻습니다.
Sorry, try again.
Sorry, try again.
sudo: 3 incorrect password attempts
여러분이 상상할 수 있듯이 UNIX가 Windows에서 제대로 작동할 것이라고 기대할 수는 없지만...
그럼 어디서부터 시작해야 할까요? 로그, 수표?
답변1
댓글에서 언급했듯이 sudo
비밀번호는 (적어도 Kali에서는) 사용자 비밀번호와 동일해야 합니다.
WSL에서는 설치 후 Kali를 처음 실행할 때 기본 사용자 및 관련 비밀번호가 생성됩니다. 루트 비밀번호가 없습니다.
물론 WSL에서는 "로그인"이 없기 때문에 사용자 비밀번호가 일반적으로 사용되지 않습니다. 일반적으로 필요한 유일한 시간은 입니다 sudo
.
그러나 잊어버린 경우 WSL에서 복구하는 것은 매우 쉽습니다. Kali 내가 아닌 PowerShell 또는 CMD에서 다음을 수행합니다.
wsl -u root passwd <username>
이는 이 옵션을 사용하여 모든 사용자 이름으로 WSL을 실행할 수 있다는 사실을 활용합니다 -u
. 대부분의 WSL 작업과 마찬가지로 WSL은 사용자 권한으로 제한되므로 암호가 필요하지 않습니다.윈도우어쨌든 사용자.
그래도 실행이 되지 않는다면 sudo
시스템에 문제가 있을 수 있습니다 sudoers
. 다른 모든 방법이 실패하면 기존 항목을 삭제 /etc/sudoers
하고 다시 설치해 볼 수 있습니다.
이 작업을 시도하기 전에 이미지의 전체 백업을 만드는 것이 좋습니다. 따라서 여기에 첫 번째 줄로 포함하겠습니다. 이번에도 PowerShell 또는 CMD를 통해 이 작업을 수행해야 합니다.
wsl --export kali-linux snapshot.tar
wsl -u root rm /etc/sudoers
wsl -u root apt install --reinstall -o Dpkg::Options::="--force-confask,confnew,confmiss" sudo
답변2
이는 C 라이브러리 libcrypt가 누락되었기 때문입니다. 동일한 문제가 발생했지만 해결 방법은 다음과 같습니다.
- cmd에서 루트로 로그인
wsl -u root
- libcrypt의 종속성인 libc6이 구성되지 않는 문제를 해결합니다.
dpkg --configure libc6
- apt도 손상되었으므로 apt 외부에서 libcrypt1을 다운로드합니다.
wget http://http.kali.org/kali/pool/main/libx/libxcrypt/libcrypt1_4.4.33-2_amd64.deb -O libcrypt1_4.4.33-2_amd64.deb
또는데비안에서 동일한 문제가 발생하면 해당 버전의 libcrypt1을 사용하세요.
wget http://ftp.uk.debian.org/debian/pool/main/libx/libxcrypt/libcrypt1_4.4.18-4_amd64.deb -O libcrypt1_4.4.18-4_amd64.deb
- 방금 다운로드한 libc를 설치하세요.
dpkg -i libcrypt1_4.4.*_amd64.deb
- 다른 손상된 패키지 종속성이 있는지 확인하십시오. 그렇다면 적절한 업그레이드를 시도한 후에 문제가 발생합니다.
apt update
apt upgrade
- 패키지 종속성을 수정하고(이전 단계가 실패한 경우 필요) 업그레이드를 다시 실행하면 이제 통과됩니다.
apt --fix-broken install
apt upgrade
답변3
파워셸에서 다음을 입력하세요.
wsl --unregister <distro>
그런 다음 새로 다시 설치하십시오.