
Чтобы следить за машиной, я хотел бы получать уведомления, например, по электронной почте каждый раз, когда какой-либо пользователь подключается к машине или отключается от нее (даже root)?
Это машина с Linux, но мне также интересно, есть ли общий способ и для BSD.
Я администратор машины, но есть и другие администраторы.
Спасибо!
решение1
Вы, возможно, могли бы взломать что-то сложное, используя tail -F
и , awk
но самый простой способ — использовать perl
, поэтому вы можете использовать File::Tail
модуль (для мониторинга соответствующего файла системного журнала) и один из многих модулей отправки почты (например, Mail::Send
или Net::SMTP
) для отправки почты, когда он замечает, что пользователь вошел в систему, вышел из системы, или не смог успешно войти в систему, или любое другое событие, о котором вы хотите быть уведомлены.
Модуль File::Tail
содержит примеры скриптов, которые уже выполняют около 90% того, что вам нужно. Их можно легко адаптировать в соответствии с вашими конкретными потребностями.
Точный файл журнала, который нужно отслеживать, зависит от дистрибутива, например, в Debian вы будете отслеживать /var/log/auth.log
, в некоторых других дистрибутивах это будет /var/log/syslog
или /var/log/messages
.
Обратите внимание, что в freebsd perl не установлен по умолчанию, но он доступен, например, с помощью pkg add perl5.22
. Это устанавливает только базовый язык perl, вам придется использовать CPAN для установки библиотечных модулей, таких как File::Tail
pr Mail::Send
.