btmpがログインしたユーザーのユーザー名を表示しないのはなぜですか?

btmpがログインしたユーザーのユーザー名を表示しないのはなぜですか?

btmpwho -aファイルとコマンドの出力を比較しようとしています。

理由はわかりませんが、btmp file現在のユーザー名は表示されず、UNKNOWNユーザー名フィールドに表示されます。私(ユーザー名:debian)がセッションにログインしました。

以下の出力を観察してください。

virt00# who -a
           system boot  2016-03-06 19:36
           run-level 5  2016-03-06 19:36
debian   - tty1         2016-03-06 19:36 00:33        1006
debian   + pts/0        2016-03-06 19:43   .          1037 (192.168.56.1)

virt00# last -f /var/log/btmp | grep still
UNKNOWN  tty1                          Sat Feb 20 16:24   still logged in
virt00#

2つの間に違いがある理由とSSHを介してログインし、仮想マシンで別のセッションが実行される理由を説明してください。

ありがとうございます。

ベストアンサー1

現在ログインしているユーザーはwho -a絶対に読んだり、/var/log/btmp読んwhoだり、表示したりできないからです。/var/run/utmp

一方、/var/log/btmp失敗したログイン試行は保存されます。


私は状況を再現し、次のようにしました。

  • そこに行きましたtty5(何でもできますtty

  • システムに存在しないユーザーが入力されました。

  • ランダムなパスワードが与えられたとき

  • ログインプロンプトに無効なパスワードが再表示されます。

  • /var/log/btmpしかし、次の項目があります。

    UNKNOWN  tty5  Mon Mar 21 16:16   still logged in 
    

    しばらくすると、次のようになります。

    UNKNOWN  tty5  Mon Mar 21 16:16    gone - no logout
    

おすすめ記事