ログイン履歴を表示する方法は?


105

ログイン履歴を表示することはできますか?つまり、誰かが私の不在でコンピューターを使用したかどうか、そしていつ使用したかを確認することです。
可能であれば、どこでログを取得できますか?
そうでない場合、すべてのログインとその時間を記録するプログラムはありますか?


25
しようとlast 、端末に
suhailvs

あなたはファイルに保存したい場合や(userlogin.log言う)を使用last > userlogin.log
suhailvs

回答:


112
/var/log/auth.log

これには、単なるログイン(sudo呼び出しなど)だけでなく、ログインも含まれています。保護されているため、読み取るにはrootになる必要があります。

sudo less /var/log/auth.log

失敗したログイン履歴を印刷する正確なコマンド:sudo grep 'authentication failure' /var/log/auth.log | grep -v "sudo"。出力行の例:Feb 19 14:35:02 comp-name-1 compiz: pam_unix(unity:auth): authentication failure; logname= uid=1001 euid=1001 tty= ruser= rhost= user=ld。成功したログイン履歴を印刷するコマンド:sudo grep 'login keyring' /var/log/auth.log | grep -v "sudo"。出力行の例:Feb 18 07:17:58 comp-name-1 compiz: gkr-pam: unlocked login keyring。おそらく最後の再起動後のログインのみが表示されます。そうしないと、独自のコマンドもリストされるため、sudoは除外されます。
ルーク


19

システム上のすべてのアカウントの最新のログインを表示するには、を試してくださいlastlog。特定のユーザーのみを表示するなど、いくつかの便利なオプションがあります。


3
これにより、誰もログインしたことがないことがわかります(実行するためにログインしているため、明らかに間違っています)
-JoshB

1
私のlastlog出力も間違っています-2人のユーザーが(両方とも間違った)エントリを持ち、1人が「ログインしていない」のです。
pbhj

参考までに:Ubuntu18では問題ないようです
DimiDak

8

あなたがラップトップを使用している場合は、質問とoliの答えを追加して、次のような正確なコンテンツをgrepして確認することもできます

sudo cat /var/log/auth.log | grep "Lid opened"

または

sudo cat /var/log/auth.log | grep "Lid closed"

そして彼/彼女がsudo許可によってあらゆる種類の活動を行うかどうか

sudo cat /var/log/auth.log | grep "session opened for user root"

または

sudo cat /var/log/auth.log | grep "session closed for user root"

それはあなたがあなたの許可なしにあなたのシステムにログインしていることについて知りたいことをあなたに追加情報を与えます:) :)


1
sudo grep 'login keyring' /var/log/auth.orgログイン履歴の確認にも使用します。
タオワン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.