【Linux】ShellでログインしたらSlack通知を行うようにする
【Linux】ShellでログインしたらSlack通知を行うようにする
LinuxのShellでログインしたらSlack通知を行うようにする。 これをすることによって誰がログインしたかをSlack上で記録できます。
Slack の用意
以下の Slack アプリの Incoming Webhook を利用します。
Webhook URL を取得します。
Slack通知用のシェルを作る
Slack通知用のシェルを作ってみます。 ログインユーザを取得してSlackに通知するという内容です。
#!/bin/bash
set -eu
# Slack Post Json
slackPostJson()
{
USERNAME=$(whoami)
cat <<EOF
{
"blocks": [
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": "*Login!!* UserName:${USERNAME}"
}
}
]
}
EOF
}
curl -i -H "Content-type: application/json" -s -S -X POST -d "$(slackPostJson)" "https://hooks.slack.com/services/XXXXXXXXXXXXXXXXXXXXXXXXXX"
実行すると通知が届きます。
sh slack.sh
Dockerで試してみる
- 作ったシェルをDockerにコピー
docker cp slack.sh [コンテナ名]:/etc/profile.d/slack.sh
- ログイン ログインします。
docker exec -it [コンテナ名] /bin/bash --login
--login を指定してログインシェルを起動します。