JavaScriptを有効にしてください

【Linux】ShellでログインしたらSlack通知を行うようにする

 ·  ☕ 1 分で読めます

【Linux】ShellでログインしたらSlack通知を行うようにする

LinuxのShellでログインしたらSlack通知を行うようにする。
これをすることによって誰がログインしたかをSlack上で記録できます。

Slack の用意

以下の Slack アプリの Incoming Webhook を利用します。

Webhook URL を取得します。

Slack通知用のシェルを作る

Slack通知用のシェルを作ってみます。
ログインユーザを取得してSlackに通知するという内容です。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
#!/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で試してみる

  1. 作ったシェルをDockerにコピー
docker cp slack.sh [コンテナ名]:/etc/profile.d/slack.sh
  1. ログイン
    ログインします。
docker exec -it [コンテナ名] /bin/bash --login

--login を指定してログインシェルを起動します。

参考

共有

こぴぺたん
著者
こぴぺたん
Copy & Paste Engineer