sudo는 WSL에서 실행되는 Kali에서 작동하지 않습니다.

sudo는 WSL에서 실행되는 Kali에서 작동하지 않습니다.

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가 누락되었기 때문입니다. 동일한 문제가 발생했지만 해결 방법은 다음과 같습니다.

  1. cmd에서 루트로 로그인
wsl -u root
  1. libcrypt의 종속성인 libc6이 구성되지 않는 문제를 해결합니다.
dpkg --configure libc6
  1. 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
  1. 방금 다운로드한 libc를 설치하세요.
dpkg -i libcrypt1_4.4.*_amd64.deb
  1. 다른 손상된 패키지 종속성이 있는지 확인하십시오. 그렇다면 적절한 업그레이드를 시도한 후에 문제가 발생합니다.
apt update
apt upgrade
  1. 패키지 종속성을 수정하고(이전 단계가 실패한 경우 필요) 업그레이드를 다시 실행하면 이제 통과됩니다.
apt --fix-broken install
apt upgrade

답변3

파워셸에서 다음을 입력하세요.

wsl --unregister <distro>

그런 다음 새로 다시 설치하십시오.

관련 정보