Linux user logged time

Log user activity for the last 24 hours by terminal

How can I log the activity of users for the last 24 hours by terminal in a system? Which command will give me this information?

3 Answers 3

  • ~/.bash_history will show the commands that was used by a user.
  • Install acct : sudo apt-get install acct in addition to login/logout. It provides logs of every single command run by every single user. Below mentioned commands are the features of acct
    • ac print statistics about connect time
    • accton turns accounting on or off
    • last list last logins of users and terms
    • lastcomm list last commands executed
    • sa print accounting statistics
    • dump-acct print accounting file in human-readable form

    The «last» command is designed to give you this information.

    laptop:~% last userx pts/0 :0.0 Mon Sep 3 11:31 still logged in userx pts/0 :0.0 Mon Sep 3 11:30 - 11:30 (00:00) userx pts/0 :0.0 Mon Sep 3 11:30 - 11:30 (00:00) userx pts/4 :0.0 Mon Sep 3 11:25 still logged in userx pts/2 :0.0 Mon Sep 3 11:23 - 11:28 (00:05) userx pts/2 :0.0 Mon Sep 3 11:20 - 11:20 (00:00) root pts/1 :0.0 Mon Sep 3 11:19 - 11:28 (00:09) root pts/1 :0.0 Mon Sep 3 11:19 - 11:19 (00:00) userx pts/0 :0.0 Mon Sep 3 11:10 - 11:12 (00:01) root pts/1 :0.0 Mon Sep 3 11:05 - 11:10 (00:04) userx pts/3 :0.0 Mon Sep 3 10:18 still logged in wtmp begins Mon Sep 3 10:18:35 2012 

    However as far as I know, there is no option to restrict the lookup to the last 24 hours.

    The who command Shows who is currently logged in to the system and information such as the time of the last login. You can use options such as -H (display column headings) -r (current runlevel) -a (display information provided by most options).

    The ‘w‘ command Displays information about the users currently on the machine and their processes. The first line includes information on the current time, how long the system has been running, how many users are currently logged on, and the system load averages for the past 1, 5, and 15 minutes.

    The last command displays a list of users who logged in and out since the /var/log/wtmp file was created. The last command searches back through the /var/log/wtmp file (or the file designated by the -f option) and displays a list of all users who have logged in (and out) since the file was created. You can specify names of users and TTY’s to show only information for those entries.

    The lastlog command formats and prints the contents of the last login log file (/var/log/lastlog). The login name, port, and last login time are displayed.

    Entering the command without options displays the entries sorted by numerical ID. You can use options such as -u login_name (display information for designated user only) and -h (display a one-line help message). If a user has never logged in, the message Never logged in is displayed in place of the port and time. For example, entering lastlog returns information similar to the following:

    Источник

    How to check last login time for users in Linux

    last — show listing of last logged in users
    Description
    This command searches back through the file /var/log/wtmp (or the file designated by the -f flag) and displays a list of all users logged in (and out) since that file was created.
    Examples
    To view last login time of all the users

    $ last deepak pts/7 server1.example Mon May 5 14:36 still logged in deepak pts/5 server1.example Mon May 5 14:34 still logged in deepak pts/7 server1.example Sat May 3 16:20 - 17:21 (01:01) deepak pts/5 server1.example Sat May 3 16:17 - 17:21 (01:04) deepak pts/5 server1.example Fri May 2 15:34 - 17:52 (02:17) deepak pts/5 server1.example Sun Apr 27 23:48 - 07:25 (1+07:37) root pts/5 main.test Sun Apr 27 04:18 - 04:20 (00:02) rahul pts/11 server1.example Sat Apr 26 06:25 - 17:16 (10:51) rahul pts/10 server1.example Sat Apr 26 06:20 - 17:16 (10:56)

    To view the last login time of specific user

    $ last deepak deepak pts/7 server1.example Mon May 5 14:36 still logged in deepak pts/5 server1.example Mon May 5 14:34 still logged in deepak pts/7 server1.example Sat May 3 16:20 - 17:21 (01:01) deepak pts/5 server1.example Sat May 3 16:17 - 17:21 (01:04)

    To view the ip address details of the source machine

    $ last deepak -i deepak pts/7 192.168.0.100 Mon May 5 14:36 still logged in deepak pts/5 192.168.0.100 Mon May 5 14:34 still logged in deepak pts/7 192.168.0.100 Sat May 3 16:20 - 17:21 (01:01) deepak pts/5 192.168.0.100 Sat May 3 16:17 - 17:21 (01:04)

    Command 2

    lastlog — reports the most recent login of all users or of a given user

    Description
    lastlog formats and prints the contents of the last login log /var/log/lastlog file. The login-name, port, and last login time will be printed. The default (no flags) causes lastlog entries to be printed, sorted by their order in /etc/passwd .

    Example
    To view last login time of deepak

    $ lastlog -u deepak Username Port From Latest deepak pts/7 server1.example Mon May 5 14:36:52 -0400 2014

    Источник

    How to display the user logged in time?

    Is there a command in linux to display the amount of time a user has logged in? The ‘who’ command displays only the users connected.. how about the time a user is logged in?

    2 Answers 2

    If you run who -H you can see the column names:

    x-cash@runabout:~$ who -H NAME LINE TIME COMMENT x-cash tty7 2013-08-20 10:23 (:0) x-cash pts/0 2013-08-25 15:45 (:0) 

    As you can see, the column TIME is exactly what you’re looking for. Just subtract that value from the actual time.

    You can parse the output of who or w to get the time a user logged in. If you then parse the dates and compare them to «now», you can get how long a user has been logged in. For example, to get the time in minutes:

    who | awk '' | while read user time; do \ echo $user $(($(($(date +%s) - $(date -d "$time" +%s)))/60)) minutes; done terdon 39 minutes terdon 31 minutes terdon 23 minutes terdon 22 minutes terdon 20 minutes terdon 18 minutes terdon 15 minutes guest 15 minutes terdon 13 minutes terdon 12 minutes 

    You must log in to answer this question.

    Hot Network Questions

    Subscribe to RSS

    To subscribe to this RSS feed, copy and paste this URL into your RSS reader.

    Site design / logo © 2023 Stack Exchange Inc; user contributions licensed under CC BY-SA . rev 2023.7.17.43536

    By clicking “Accept all cookies”, you agree Stack Exchange can store cookies on your device and disclose information in accordance with our Cookie Policy.

    Источник

    User’s Login date and login time

    I want to fetch user’s login time and login date, is there any command in Unix providing User’s login date and User’s login time ? this problem i want to perform in Shell-script where username is accepting from the end-user and after checking the availability of user, i would like to fetch that user’s login time and login date in different variable and then display using ‘echo’ command.

    2 Answers 2

    Also, the command who lists current logins.

    If you’re looking for the date of the user’s last login, some systems provide it directly, for example lastlog -u «$USER_NAME» on Linux or lastlogin «$USER_NAME» on FreeBSD. It’s also available in the output of finger , but not in an easy-to-parse form. In any case, it’s available in the output of last (on many unix variants, last -n 1 «$USER_NAME» shows the last login; otherwise you can do last «$USER_NAME» | head -n 1 ). Note that last login may not correspond to the last logout (e.g. a user remained connected from one origin for a long time and made a quick network login recently).

    i know ‘who’ command is providing the login information of all users , but i wants to have «Login-date» and «Login-time», and i dont wants the user information for past login but for a username accepted from a user and want to fetch the information about that user

    ? last «$username» provides «Login-date» and «Login-time». The second part of your sentence is not clear for me, maybe its my English, maybe its yours. «Username accepted from a user[. ]» ?

    @Paresh: I’ve run out of ways to interpret your question. If my answer still doesn’t help, try making your question clearer.

    @Paresh : last $USER_NAME will show current users as well. It will show something like username ttyp0 192.168.1.100 Tue Sep 13 13:09 still logged in

    @Gilies let me clear what i want to perform actually, i want to make a shell-script in which i accept user-name as «read $username» and then i want to check whether the user is log-on or not , if yes then i want to fetch their login-time and login-date, thanx for the support

    Источник

    Просмотр истории входа в Linux. Кто и когда входил в систему

    Кто и когда входил в Linux. Команда Last

    Данная информация обычно нужна системным администраторам для просмотра истории входа в систему на многопользовательском сервере.

    Помимо этого, бывает полезно узнать о неудачных попытках входа. Это могут быть боты, но могут быть и попытки взлома вашего сервера.

    Где хранятся логи входа в систему

    Информация о том, кто входил (залогинивался) или пытался войти в систему, хранится в лог файлах. Для этого используется три лог-файла:
    /var/log/btmp — неудачные попытки входа.
    /var/run/utmp — кто в данный момент залогинен (текущие сессии).
    /var/log/wtmp — список всех сессий входа в систему.

    Эти файлы, в отличии от большинства других лог-файлов Linux, имеют бинарный формат. Если вы попробуете просмотреть их командой cat , то на экран будет выведена «каша». Для их просмотра используется команда last .

    Просмотр истории входа в систему

    Для просмотра логов входа в систему используется команда last . По умолчанию команда last выводит информацию из файла /var/log/wtmp , в котором хранятся записи обо всех сессиях входа.

    yuriy pts/0 181.23.456.189 Sat Mar 23 12:27 still logged in nifnif pts/11 181.45.678.912 Wed Mar 20 05:30 - 05:49 (00:19) nafnaf pts/22 181.45.678.312 Fri Mar 15 00:01 - 02:27 (02:26) nufnuf pts/33 181.45.678.411 Wed Mar 13 11:02 - 11:28 (00:26) . 

    Как вы можете видеть, выводится таблица с информацией. В ней содержатся имена пользователей, IP-адрес, с которого осуществлялся вход, дата и время входа и продолжительность сессии. Запись вида pts/0 означает, что для входа использовалось SSH соединение (или другое удаленное соединение, например, telnet).

    Также выводится информация о включении/выключении системы.

    Последняя строка в файле /var/log/wtmp показывает, когда был создан файл.

    Просмотр истории входа в систему. Команда Last

    Просмотр истории входа для определенного пользователя

    Чтобы показать информацию о сессиях определенного пользователя, то для команды last необходимо указать имя этого пользователя:

    Команда last username

    Ограничить количество строк

    Иногда лог, который выводит команда last , может быть очень большой. Чтобы ограничить количество выводимых строк, используется опция -n ЧислоСтрок или просто -ЧислоСтрок .

    Выведем только десять свежих записей:

    Просмотр неудачных попыток входа в систему

    Как было сказано выше, записи о неудачных попытках входа в систему хранятся в лог-файле /var/log/btmp .

    Команда last по умолчанию выводит информацию из файла /var/log/wtmp . Чтобы вывести информацию из другого файла, используется опция -f ИмяФайла

    Выведем записи о неудачных попытках входа (из файла /var/log/btmp ):

    Или же можно воспользоваться командой lastb . Команда lastb работает точно также, как и команда last , но выводит информацию из файла /var/log/btmp

    Заключение

    Мы рассмотрели использование команды last для просмотра информации об истории входа в систему.

    Дополнительную информацию по использованию команды last можно получить, выполнив в терминале:

    Источник

    Читайте также:  Git for linux server
Оцените статью
Adblock
detector