WindowsにKali Linuxサブシステムをインストールしました。そして今、Kaliでrootパスワードを忘れてしまいました。KaliLinuxのターミナルだけがあり、他には何もありません。安全にパスワードをリセットするにはどうすればよいですか?
注:UbuntuとKali Linuxの両方を同時にインストールしましたが、デフォルトでbashを実行すると、ubuntuが開きます
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
を開きます。このレジストリパスに移動するか、このパスを入力します Ctrl + L そのウィンドウで:
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
私はこれが古い質問であることを感謝しますが、これを偶然見つけ、より良い方法が必要だとわかっていたので、Microsoftのガイダンスに基づいて回答を提供したいと思いました。
これは https://docs.Microsoft.com/en-us/windows/wsl/user-support 少なくともWindows 10 1709(Fall Creators Update)を実行しているデバイスを実行している記事に基づいています
cmd.exe
)kali config --default-user root
を実行しますpasswd user
を実行します。userは、パスワードをリセットするアカウントのユーザー名です。つまり、passwd bob
exit
と入力してKaliを閉じますkali config --default-user user
を実行します。userは、パスワードをリセットしたばかりのユーザー名です。つまり、kali config --default-user bob
これらの手順を実行すると、WSLのKaliでアカウントのパスワードをリセットできるようになります。
このソリューションは 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レジストリを古い値に変更します