S SH Alert, показывающий используемый порт и время его вызова через pam.d - PullRequest
0 голосов
/ 23 марта 2020

Я использовал это в течение долгого времени, но только для того, чтобы получать простое предупреждение, когда кто-то входит в систему. Теперь я хочу расширить это, чтобы показать порт пересылающего туннеля s sh, так как он будет меняться с каждый логин. Сценарий вызывается в /etc/pam.d/sshd:

session optional pam_exec.so seteuid /opt/ssh-notify.sh

Вот сценарий:

#!/bin/bash

sender="myalerts@somemail.com"
recepient="me@mymail.com"

if [ "$PAM_TYPE" != "close_session" ]; then
    subject="$PAM_USER from $PAM_RHOST"
    message="Port = $(lsof -i4 -n | egrep 'LISTEN' | egrep 'userfoobar' | sed 's/[^:]*: *//; s/ .*//')"
    echo -e "Subject: $subject\n$message" | msmtp $recipient
fi

Проблема: во время выполнения сценария туннель не готов. Так что в $ message нет порта. Есть ли другой подход?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...