|
|
|
@ -1,12 +1,17 @@
|
|
|
|
|
#!/bin/bash
|
|
|
|
|
# Modified version, original source: https://gitlab.com/snippets/1871482#note_188602535
|
|
|
|
|
|
|
|
|
|
USER_ID_DIR={{ notify_users_directory | quote }}
|
|
|
|
|
CACHE_DIR={{ notify_cache_directory | quote }}
|
|
|
|
|
USERID={{ recipient_id | quote }}
|
|
|
|
|
KEY={{ bot_key | quote }}
|
|
|
|
|
|
|
|
|
|
TIMEOUT={{ timeout | quote }}
|
|
|
|
|
|
|
|
|
|
getUserId() {
|
|
|
|
|
USER_CONF="${USER_ID_DIR}/$1"
|
|
|
|
|
[[ -r "$USER_CONF" ]] && head -n 1 "$USER_CONF"
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
URL="https://api.telegram.org/bot$KEY/sendMessage"
|
|
|
|
|
sendMessage() {
|
|
|
|
|
curl -s --max-time "$TIMEOUT" -H "Content-Type: application/x-www-form-urlencoded" -d "chat_id=$1" -d "disable_web_page_preview=1" -d "parse_mode=Markdown" -d "text=$2" "$URL" >/dev/null
|
|
|
|
@ -25,5 +30,6 @@ if [[ "$PAM_SERVICE" == "sshd" && "$PAM_TYPE" == "open_session" && "$PAM_USER" !
|
|
|
|
|
HOSTNAME=$(hostname --fqdn)
|
|
|
|
|
TEXT="Successful login from [$IP](https://stat.ripe.net/app/$IP) for ${PAM_USER} @ ${HOSTNAME} ($(date "+%Y-%m-%d %H:%M"))"
|
|
|
|
|
# send to root
|
|
|
|
|
sendMessage "$USERID" "$TEXT"
|
|
|
|
|
ROOT_USER_ID="$(getUserId root)"
|
|
|
|
|
sendMessage "$ROOT_USER_ID" "$TEXT"
|
|
|
|
|
fi
|
|
|
|
|