Как отслеживать отчеты пользователей с помощью сценариев оболочки

Я хочу отслеживать
У меня на моей Linux-машине 3 пользователя, скажем, a, b, c . С помощью последней команды я могу идентифицировать список последнего вошедшего в систему пользователя и с помощью команды w, кто вошел в систему и что они делают, а по команде history будут показаны все команды, используемые конкретным пользователем.

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

Как это сделать? Для наблюдения за пользователем

-1
задан 11 April 2017 в 15:46
2 ответа

Все журналы запуска / остановки сеанса пользователя будут записаны в / var / log / secure или /var/log/auth.log , в зависимости от в каком дистрибутиве вы используете. Вы можете легко проанализировать этот файл, чтобы определить время входа / выхода для каждого пользователя.

Что касается отчетов о выполненных командах, системы Linux не регистрируют это, если вы специально не настроите какой-либо аудит команд.

1
ответ дан 5 December 2019 в 19:43

Как упоминалось в предыдущем ответе, вы можете использовать систему аудита Linux вместе с модулем PAM pam_tty_audit для аудита определенных пользователей. Модуль работает с демоном auditd , поэтому перед настройкой модуля убедитесь, что он включен. Модуль записывает точные нажатия клавиш, которые пользователь делает, в файл /var/log/audit/audit.log . По умолчанию он НЕ регистрирует нажатия клавиш, когда TTY находится в режиме ввода пароля.

Предполагая, что вы работаете на RHEL6, модуль должен быть настроен в файлах /etc/pam.d/password-auth и /etc/pam.d/session-auth . добавив к ним следующую строфу:

session required pam_tty_audit.so disable=* enable=a,b,c

Затем вы можете прочитать файл журнала аудита с помощью инструмента отчетности aureport :

aureport --tty -ts today
aureport --tty
0
ответ дан 5 December 2019 в 19:43

Теги

Похожие вопросы