Kali Linuxでユーザー名を忘れてしまい、ログインできなくなりました。ユーザー名を表示する方法はありますか?
ユーザー名は/etc/passwd
にリストされています。
さまざまなシステムユーザーも含まれているため、かなり長いです。実際のユーザーは通常、UID1000で始まります。UIDは:
で区切られたテーブルの3番目の列であり、ユーザー名は最初の列です。
しかし、それを見るには、どういうわけかマシンにログインする必要があります。他のログインと対応するパスワードを知っている場合は、それを使用してそこを見てください。
ログインできないが再起動できる場合は、次の2つのオプションがあります。
init=/bin/bash
パラメータをカーネルに渡します。これにより、ログインなどを行わなくてもルートシェルが取得されますが、システムの初期化も行われません(ただし、/etc/
はルートファイルシステム上にある必要があり、マウントされます)。それは本当に奇妙に聞こえます。そんなに複雑でしたか?
私の頭に浮かぶ最初のアイデアは、ハードディスクをマウントできる場合(ライブCDまたはアクセスできる別のアカウントを使用)、/home
内にあるサブフォルダーを確認するだけです。 。理論的には、ユーザーごとに1つ存在する必要があります。
これを少し拡張するには、おそらく次のようなことを行うことができます。
cat /etc/passwd | grep /home
これにより、ホームディレクトリを持つすべてのユーザーのリストが表示されます。
次のような出力が得られます(Raspbianを実行している私のRaspberry Piの例):
pi@raspberrypi ~ $ cat /etc/passwd | grep /home
pi:x:1000:1000:,,,:/home/pi:/bin/bash
ntp:x:102:104::/home/ntp:/bin/false
usbmux:x:105:46:usbmux daemon,,,:/home/usbmux:/bin/false
git:x:1001:1004:,,,:/home/git:/usr/bin/git-Shell
ご覧のとおり、アクセスできないシステムアカウント(ntp
とusbmux
)がいくつかありますが、実際のユーザーアカウント(pi
とgit
)も2つあります。
したがって、少し拡張するために、シェルとしてfalse
を含むすべての行を削除できます。
cat /etc/passwd | grep /home | grep -v /bin/false
これは-私の場合-すべてのユーザーアカウントを返します(ただし、まだいくつかのシステムのものがあるかもしれません):
pi@raspberrypi ~ $ cat /etc/passwd | grep /home | grep -v /bin/false
pi:x:1000:1000:,,,:/home/pi:/bin/bash
git:x:1001:1004:,,,:/home/git:/usr/bin/git-Shell
Rootユーザーのログインを変更しなかった場合、ログインを求められたら、otherを選択し、ユーザー名として「root」(引用符なし)、パスワードとして「toor」(引用符なし)と入力すると、次のことができます。/etc/passwd通常ユーザーのユーザー名はUID1000で始まります。