プログラミング言語や環境設定を中心としたパソコン関連の技術メモです。
主にシステム開発中に調べたことをメモしています。TIPS的な位置付けで、気が向いたときにちまちま更新していきます。
Linux、「/var/log/lastlog」とはなんぞや?
ちょっくらLinuxの基礎を学び直そうと思いましてね。
気になったことを取りとめもなく調べていくことにしました。

次に調べたのが「/var/log/lastlog」です。

取り合えずログファイルなのは確定として、
「last」コマンドで表示される中身かな(--?

……と思ったら、違いました(--;
「last」コマンドではなく「lastlog」コマンドで表示される中身のようです。

ちなみに「lastlog」コマンドは、ユーザ毎の最終ログイン日時を表示するコマンドね。
「lastlog」コマンドを実行すると、例えば、こんな内容が表示されますφ(--)

Username     Port   From       Latest
root       pts/0  piyopiyo0001   Tue Jun 23 21:46:20 +0900 2015
user1                   **Never logged in**
user2                   **Never logged in**
user3                   **Never logged in**
user4                   **Never logged in**
user5                   **Never logged in**
user6                   **Never logged in**

表示内容から、rootユーザが6/23の21:46に最終ログインしていることが分かりますね。
その他のユーザは一回もログインしていないので「**Never logged in**」と表示されています。

このような内容が「/var/log/lastlog」には書かれています。

ただし「/var/log/lastlog」はバイナリファイルです。
例えば

more /var/log/lastlog

を実行しても中身は見れませんので、ご注意ください。
テキストファイルの閲覧コマンドは無力です。

また、中身の編集は、基本的にはできません……ということにしておきましょう。
「/var/log/lastlog」の中身を書き換えるプログラムを書いて、
rootユーザで実行すれば編集できますけどね。
わざわざやるメリットは普通に暮らしている分には無いと思います。

あっ、そうそう。
余談ですが、私の環境では「utmp.h」の中に
lastlog構造体が以下の形で定義されていました。

struct lastlog
  {
#if __WORDSIZE == 64 && defined __WORDSIZE_COMPAT32
    int32_t ll_time;
#else
    __time_t ll_time;
#endif
    char ll_line[UT_LINESIZE];
    char ll_host[UT_HOSTSIZE];
  };

ごほごほ(-q-)

最後にもう一度まとめておきますね。
「/var/log/lastlog」はユーザ毎の最終ログイン日時が書いてあるファイルです。
「lastlog」コマンドを実行することにより、内容を確認できます。
中身はバイナリファイルなので「more」コマンド等では閲覧できません。
また、手動での編集も基本的にはできません(ということにしておきます)。

そんな感じ\(--)/
スポンサーリンク
 
このエントリーをはてなブックマークに追加 

category:ファイル/ディレクトリ  thema:パソコンな日々 - genre:コンピュータ  Posted by ササキマコト 

  関連記事