web-dev-qa-db-ja.com

LinuxのWindowsサブシステムでKali Linuxパスワードをリセットする方法

WindowsにKali Linuxサブシステムをインストールしました。そして今、Kaliでrootパスワードを忘れてしまいました。KaliLinuxのターミナルだけがあり、他には何もありません。安全にパスワードをリセットするにはどうすればよいですか?

注:UbuntuとKali Linuxの両方を同時にインストールしましたが、デフォルトでbashを実行すると、ubuntuが開きます

2
Abdullah Noman

UbuntuとKali Linuxの両方を同時にインストールしましたが、デフォルトでbashを実行すると、Ubuntuが開きます。

新しいWindowsバージョンでは、ユーザーは複数のGNU/Linuxディストリビューションをインストールして実行できます。 wsl.exeコマンドを使用して、デフォルトのディストリビューション(つまり、wslconfig /s <disrto_name>が付属するディストリビューション)を設定できます。例えば最初の実行時にwsl.exeでKaliを開くには、このコマンドwslconfig /s kali-linuxを使用するか、kali.exeを実行します。

Kaliでrootパスワードを忘れてしまいました。KaliLinuxのターミナルだけがあり、他には何もありません。安全にパスワードをリセットするにはどうすればよいですか?

まず第一に、この手順が安全かどうかはわかりません。執筆時点では、WSLはDefaultUIDレジストリからデフォルトのログインユーザーを管理しています(これは将来変更される可能性があります)。開いているWSLインスタンスをすべて閉じます。このレジストリ値を編集するには、レジストリエディターを開くか、[スタート]メニューまたは[ダイアログを実行]からregedit.exeを開きます。このレジストリパスに移動するか、このパスを入力します CtrlL そのウィンドウで:

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Lxss 

{12345678-1234-1234-1234-123456789012}(GUIDと呼ばれる)のような名前の1つまたは複数のサブキー(サブフォルダーなど)が表示される場合があります。それらをダブルクリックして1つずつ開き、DistributionNameの値を目的のディストリビューション名と一致させます。ここではkali-linuxになります(以下を参照)。 DefaultUID値をダブルクリックして、ゼロに変更します。ゼロはrootユーザーの場合、1000または0x3e8(16進数)は通常のユーザーの場合です。

コマンドプロンプトでwsl.exeを開きます。プロンプトが$から#(rootユーザーを意味する)に変わります。 Kaliでpasswdコマンドを実行し、通常どおりrootパスワードを変更します。次に、以前のレジストリキーに戻り、ゼロを以前の値(または16進数では3e8)に変更します。レジストリ値の例を次に示します。

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Lxss]
"DefaultDistribution"="{f029d4cd-b7ee-42bc-ae02-af8f2c97f495}"

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Lxss\{f029d4cd-b7ee-42bc-ae02-af8f2c97f495}]
"State"=dword:00000001
"DistributionName"="kali-linux"
"Version"=dword:00000001
"BasePath"="C:\\MyFiles\\kali-linux"
"KernelCommandLine"="BOOT_IMAGE=/kernel init=/init ro"
"DefaultUid"=dword:000003e8
"Flags"=dword:00000007

詳細:

2
Biswapriyo

私はこれが古い質問であることを感謝しますが、これを偶然見つけ、より良い方法が必要だとわかっていたので、Microsoftのガイダンスに基づいて回答を提供したいと思いました。

これは https://docs.Microsoft.com/en-us/windows/wsl/user-support 少なくともWindows 10 1709(Fall Creators Update)を実行しているデバイスを実行している記事に基づいています

  1. Kaliが実行されていないことを確認します
  2. コマンドプロンプトを開きます(cmd.exe
  3. コマンドプロンプトからkali config --default-user rootを実行します
  4. Kaliを実行します。自動的にrootとしてログインする必要があります
  5. Kaliでpasswd userを実行します。userは、パスワードをリセットするアカウントのユーザー名です。つまり、passwd bob
  6. プロンプトに従ってパスワードをリセットし、exitと入力してKaliを閉じます
  7. コマンドプロンプトからkali config --default-user userを実行します。userは、パスワードをリセットしたばかりのユーザー名です。つまり、kali config --default-user bob

これらの手順を実行すると、WSLのKaliでアカウントのパスワードをリセットできるようになります。

4
Mike

このソリューションは biswapriyo によって与えられます。彼のおかげで

Win + Rタイプwsl.exeを押して、Windowsで実行コマンドを開きます。または、Windowsのスタートメニューからbashウィンドウを開きます。bashウィンドウが実行されている場合は、以下の手順に従ってください。

ユーザー名を忘れた場合

タイプcat /etc/passwdそこにユーザー名が表示されています

パスワードの取得

Runコマンドを再度開き、regeditと入力します

に行く

コンピューター\ HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Lxss

レジストリ。

レジストリ値DistributionName==Kali_Linux.を見つけます

何か問題が発生して元に戻せる場合に備えて、現在のレジストリをエクスポートします

defaultUIDレジストリをゼロに変更します[しかし、古い値も覚えておいてください]

Kaliを開き、passwd change root passwordと入力します。

次回kaliでrootログインを回避するには、defaultUIDレジストリを古い値に変更します

1
Abdullah Noman