I am using last command in linux to fetch last loggedin user. But last command shows only 8 characters in the username field. In the below image, username administrator is trimmed to administ.
Is there any other way to get the full name of last logged-in user ?
I tried lastlog too.
last -w
should do the trick for you. I don't have any long usernames to test this with but the man page suggests it should work.You can also use
last -a
to list hostnames as the last field and not truncate them orlast -i
to display them as IP addresses instead of hostnames.These are local users to your system so you could grep them out of your
/etc/passwd
file if the above options don't work. You should only run into problems doing that if you have two users that share the same first 8 characters.Failing all of that, you could try
strings /var/log/wtmp
. This data will be somewhat more difficult to interpret but it should contain the full usernames and hostnames.Try this,
show all available login since last restart:
last -Fw | grep -E 'Oct ([ 1-9]|1[0-9]|2[0-9]|30)' | grep $(date +"%Y")
last
reads from utmp, and there the username field is limited to 8 characters. So it's better to have username somewhat unique within the first characters.