Как на языке shell отследить входы/выходы пользователей в систему с указанием времени работы и номера терминала? Как на языке shell отследить входы/выходы пользователей в систему с указанием времени работы и номера терминала?
Сам алгоритм мне вроде и понятен:
1) Записываем в файл пользователя, номер терминала и время
2) Сравниваем минуты через 2 текущего пользователя И номер терминала, если совпадают то увеличиваем время прибытия в файле, а иначе завершаем послед. сессию и записываем новую..?
Я с языком shell мало знаком, не кидайте пожалуйста помидоры :(

21 Авг 2019 в 06:22
270 +1
0
Ответы
1

Для отслеживания входов/выходов пользователей в систему с указанием времени работы и номера терминала можно воспользоваться командой last. Она показывает логины и выходы пользователей в систему.

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

last -F -i <username>

где <username> - имя пользователя, входы и выходы которого необходимо отследить.

Чтобы отследить входы и выходы пользователей с указанием времени работы и номера терминала, можно воспользоваться сценарием на shell, который будет обрабатывать вывод команды last. Например, можно создать скрипт track_users.sh со следующим содержимым:

#!/bin/bash
# Запускаем команду last и выводим только информацию о нужных пользователях
last -F | grep <username> | while read line; do
user=$(echo $line | awk '{print $1}') # имя пользователя
tty=$(echo $line | awk '{print $2}') # номер терминала
login_time=$(echo $line | awk '{print $4, $5, $6, $7}') # время входа
# Выводим информацию о пользователе
echo "User $user logged in on terminal $tty at $login_time"
done

где <username> - имя пользователя, входы и выходы которого необходимо отследить.

Для выполнения скрипта достаточно запустить его из командной строки:

./track_users.sh

Таким образом, можно отслеживать входы и выходы пользователей с указанием времени работы и номера терминала в системе с помощью скрипта на языке shell.

20 Апр 2024 в 13:19
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир