≡ Menu

When a user logs in what files are updated in UNIX / Linux

One of our regular reader asks:

I’d like to discover information about who is currently using the system. When a user logs in what files are updated in UNIX / Linux?

Linux / UNIX have utmp and wtmp files to keep login records. Following three files keeps track of all logins and logouts to the system.

=> /var/run/utmp : List of current login sessions.
=> /var/log/wtmp : Database of past user logins / previous login sessions.
=> /var/log/lastlog : Last logins information about users

How do I access login records files?

These are a binary log files, and grows linearly at its end. So you cannot view records using cat or other text based utilities. The file <utmp.h> declares the structures used to record information about current users in the file. This can be accessed using C programs or other specialized utilities:

Suggested readings:

  • Man pages - ac(1), date(1), last(1), login(1), who(1), getutent(3), updwtmp(3), init(8), wtmp(5)
  • Header file /usr/include/utmp.h
Share this on:

{ 4 comments… add one }

  • Justin October 2, 2007, 10:11 pm

    lsof will give you a list of all files being accessed at the moment and the users that are accessing them, among other things.

  • Nikhil Mulley October 3, 2007, 7:32 pm

    there is apparently another file which not many know of is /var/log/btmp and the related command to read it is lastb.
    lastb is same as that of last except that it shows all the bad login attempts which are recorded into /var/log/btmp, if the file is not present you would have to touch it to get started.


  • nixCraft October 4, 2007, 3:29 pm


    Oh I just forgot about lastb., I appreciate your post.

    • Krish March 30, 2011, 5:53 pm

      Can you pls tell me how to information on this log files

Leave a Comment

   Tagged with: , , , , ,