web-dev-qa-db-ja.com

Kali Linuxでユーザー名を回復する方法はありますか?

Kali Linuxでユーザー名を忘れてしまい、ログインできなくなりました。ユーザー名を表示する方法はありますか?

2
luke

ユーザー名は/etc/passwdにリストされています。

さまざまなシステムユーザーも含まれているため、かなり長いです。実際のユーザーは通常、UID1000で始まります。UIDは:で区切られたテーブルの3番目の列であり、ユーザー名は最初の列です。

しかし、それを見るには、どういうわけかマシンにログインする必要があります。他のログインと対応するパスワードを知っている場合は、それを使用してそこを見てください。

ログインできないが再起動できる場合は、次の2つのオプションがあります。

  • ライブCDから起動
  • init=/bin/bashパラメータをカーネルに渡します。これにより、ログインなどを行わなくてもルートシェルが取得されますが、システムの初期化も行われません(ただし、/etc/はルートファイルシステム上にある必要があり、マウントされます)。
3
Jan Hudec

それは本当に奇妙に聞こえます。そんなに複雑でしたか?

私の頭に浮かぶ最初のアイデアは、ハードディスクをマウントできる場合(ライブ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

ご覧のとおり、アクセスできないシステムアカウント(ntpusbmux)がいくつかありますが、実際のユーザーアカウント(pigit)も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
1
Mario

Rootユーザーのログインを変更しなかった場合、ログインを求められたら、otherを選択し、ユーザー名として「root」(引用符なし)、パスワードとして「toor」(引用符なし)と入力すると、次のことができます。/etc/passwd通常ユーザーのユーザー名はUID1000で始まります。

0
Steampunkery