「last」コマンドを使用して古いログイン情報を読み取る方法は?


12

このlastコマンドでは、「wtmpの開始」時に切り捨てられたユーザーログイン情報の行が少なすぎる場合があります。

可能な限り多くのlast情報を取得したい場合(たとえば、ユーザー名を使用して不明/疑わしいIPからシステムにアクセスしたかどうかを確認する場合)、古い「最後の」情報を出力するにはどうすればよいですか?

last -20002000行の出力を表示するつもりでを使用した場合、コマンドは数行しか返さない可能性があり、「wtmpが始まる」前に発生したことはすべて切り捨てられます。)

ログイン情報のできるだけ多くの行を出力することが可能であるかと思っています。


last -o役立つかもしれません。manページには、古いwtmpファイルを読み取ると書かれています。しかし、私のシステムではそれは多くの情報を提供しません。ただし、wtmp begins1970
。– udiboy1209 2014

1
それは面白い。1970年以降、ログに表示されているよりも多くのログインがある場合、一部の設定が正しくない可能性があります。
水石14

回答:


16

このlastコマンドは、バイナリファイル/var/log/wtmpを使用して、最後にログインしたユーザーのリストを表示します。

ただし/var/log/wtmp、ローテーションされたファイルで、古いエントリがアーカイブされ/var/log/wtmp.x、xは数字[0-9]です。

したがって、ログイン履歴をさらに詳しく調べる必要がある場合は、それらのファイルの1つを開いてみてください。

last -2000 -f /var/log/wtmp.1 | less

1
それを渡す方が良いの端末で2000行を読み取るためにlessなどlast -2000 -f /var/log/wtmp.1| lessの素敵な答えを+1、
souravc

@souravcに感謝します。回答を編集しました。
シルヴァンピノー14

どうもありがとうございました!wtmp.1ファイルが自動的にwtmp.1.gzファイルにgzip圧縮されていることに気付いたので、それを解凍し、「last -f」を使用して読み取りました。これがまさに私が必要とするものです。どうもありがとうございます。ところで、wtmp.1はまだ最近のようで、wtmp1ファイルのみ(/ var / logにwtmp2などの他のファイルはありません)があり、システムに詳細情報を保存したい場合、デフォルトのシステム設定を変更するにはどうすればよいですか?この目的のために?
ウォーターストーン

アーカイブするローテーションの数をカバーする新しい質問を作成してください。
シルヴァンピノー14

1

最後-f /var/log/wtmp.1が何も出力しない場合、これはたとえば、新しいバージョンでレコード長が変更されたことが原因である可能性があります。

単純なオプションは、代わりにutmpdumpを使用することです。

utmpdump /var/log/wtmp.1  | less

ああ、( "quit"から;-) lessを使用してq終了できます)


1年後の最初の10ポイントを獲得しましょう!
WinEunuuchs2Unix

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.