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はユーザー権限に制限されているため、パスワードは必要ありません。Windowsとにかくユーザー。
それでも実行できない場合は、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からrootとしてログイン
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
またはDebianで同じ問題が発生した場合は、そのバージョンの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
PowerShellで次のように入力します。
wsl --unregister <distro>
その後、新しく再インストールします。