最後のコマンドは数日分のログイン情報のみを表示します

最後のコマンドは数日分のログイン情報のみを表示します

last私は、システムへの不正ログインをチェックするために、次のコマンドをよく使用します。

last -Fd

リモート ログインが IP とともに表示されるログインが表示されます。

からman last

-F     Print full login and logout times and dates.
-d     For non-local logins, Linux stores not only the host name of the remote host but its IP number as well. This option  translates  the  IP
              number back into a hostname.

質問:

last私のシステムの 1 つでは、数日分のログインしか表示されません。なぜでしょうか?数日分しか表示されない場合はどうすればいいですか?

問題の出力は次のとおりです。

root ~ # last -Fd
user pts/0        111-111-111-111. Wed Oct  8 20:05:51 2014   still logged in                      
user pts/0        host.lan   Mon Oct  6 09:52:01 2014 - Mon Oct  6 09:53:41 2014  (00:01)    
user pts/0        host.lan   Sat Oct  4 10:11:39 2014 - Sat Oct  4 10:12:13 2014  (00:00)    
user pts/0        host.lan   Sat Oct  4 09:31:07 2014 - Sat Oct  4 10:11:00 2014  (00:39)    
user pts/0        host.lan   Sat Oct  4 09:26:04 2014 - Sat Oct  4 09:28:16 2014  (00:02)    

wtmp begins Sat Oct  4 09:26:04 2014

答え1

関心のあるログがアーカイブされ、新しいログが開かれた可能性がありますlogrotate。古いファイルがある場合はwtmp、次のようにその 1 つを指定します。

last -f /var/log/wtmp-20141001

答え2

'last' コマンドは、/var/log/wtmp ファイルからデータを読み取ります。logrotate サービスが有効になっている場合は、wtmp ファイルがローテーションされる可能性があります。/var/log ディレクトリ内に wtmp.1 または wtmp.1.gz ファイルがあるかどうかを確認してください。このファイル (または次の番号に似たもの: wtmp.2 wtmp.3 など) がある場合、wtmp ログがローテーションされていることを意味します。その後、ローテーションを調整/無効にするか、'last -f wtmp_file' コマンドを使用して古いデータを確認できます。

答え3

提案されたようにスラム以下を使用できます:

$ lastlog -b 0 -t 100

過去 100 日間にシステムにログインしたユーザーを確認します。

関連情報