Как запустить команду bash каждый раз, когда кто-то не может войти в систему?

В nrpe.cfgесть две вещи.

  1. allowed_hosts
  2. server_address

В allowed_hostследует указать общедоступный IP-адрес сервера Nagios, если он находится за пределами локальной сети.

В server_addressмы должны указать IP-адрес локальной машины, которая должна прослушивать nrpe, потому что у нас может быть несколько включенных портов Ethernet и связанных с ними IP-адресов.

3
28.02.2020, 17:38
1 ответ

Неудачные входы регистрируются с помощью lastb, если /var/log/wtmpзавершает работу. Вы можете отслеживать изменения в этом файле /var/log/wtmpс помощью inotify-toolsВы можете получить вывод с помощью lastили lastb. Если вы заметите какое-либо сообщение о неудачном входе в систему, вы узнаете, когда это произойдет, и вы можете создать условие для запуска желаемой команды.

Подробнее:

Для мониторинга файла срабатывает при его изменении :while inotifywait -e close_write /var/log/wtmp; do <myscrip>.sh; done

lastb | grep -q "failed login"выведет 0 и выйдет без каких-либо других выходных данных, если строка присутствует, что будет иметь место при неудачном входе в систему.

Вы можете создать условный оператор if -в Bash следующим образом:

if lastb | grep -q "failed login";
then <ascript>.sh;
fi;

Возможно, вам потребуется создать /var/log/wtmp, что можно сделать с помощьюtouch /var/log/wtmp

1
28.04.2021, 23:21

Теги

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