【CentOS】SSHでログイン後にログイン理由を聞くようにする【ログイン理由書かないと強制ログアウト】

あざらし

29歳でフリーターからITエンジニアに転職を成功させ

31歳でフリーランスエンジニアになった

あざらしです

こんにちは

サーバーを運用しているとこんなことにぶつかることがあります。

「ログイン管理ってしてるの?」「ログインした履歴って残しているの?」「ログインしたらメールが飛ぶようにならないの?」

結論:全部できますよ!

上の人は監査ログ的な物を欲しがるんですよねー
セキュリティ観点からしても確かに欲しいけど、お金をかけてツールを入れたくないってごねるw

なので、基本的な機能だけで実現させます。

ちなみにこのスクリプトは私が初心者だった頃に作ったスクリプトですので、コードの汚さはご勘弁を。
今更綺麗にはしたくないってのもありますがw

コード

#####login chek###########################

MAIL=Toアドレス

FROM=Fromアドレス

DATA=`date ‘+%Y%m%d%H%M%S’`

Y=`date ‘+%Y’`

m=`date ‘+%m’`

d=`date ‘+%d’`

H=`date ‘+%H’`

M=`date ‘+%M’`

S=`date ‘+%S’`

SECURE=`grep “$H:$M:” /var/log/secure`

IP=`who am i | cut -d ‘(‘ -f 2 | sed -e ‘s/)//g’`

trap ‘echo “ログアウトします” ; exit 1’ 2

# User specific aliases and functions

if [ “$SSH_TTY” != “” ]; then

echo -n “ログイン理由を記載してください。

※未記入は強制ログアウトします。

(終了:Enter削除:Delete)

 : “

read ANS

        if [ -z $ANS ] ; then

                 echo “ログアウトします”

        exit 0

        else

                echo -e “[$HOSTNAME] $USER $Y/$m/$d $H:$M:$S From:$IP ログイン目的: $ANS” \

                | mail -s “\”$HOSTNAME\” root login” -r “$FROM” “$MAIL”

                echo “mailを送信しました。”

        fi

else

ANS=`zenity –entry –text=ログイン理由を記載してください`

        if [ -z $ANS ] ; then

        exit 0

        else

                echo -e “[$HOSTNAME] $USER $Y/$m/$d $H:$M:$S From:$IP ログイン目的: $ANS” \

                | mail -s “\”$HOSTNAME\” root login” -r “$FROM” “$MAIL”

        fi

fi

コード説明

# User specific aliases and functions

if [ “$SSH_TTY” != “” ]; then

echo -n “ログイン理由を記載してください。

※未記入は強制ログアウトします。

(終了:Enter削除:Delete)

 : “

SSHで接続している場合にのみ実行するようにしている。
これをやっておかないと、GUIでログインした時もスクリプトが動いてしまいます。

ANS=`zenity –entry –text=ログイン理由を記載してください`

        if [ -z $ANS ] ; then

        exit 0

        else

                echo -e “[$HOSTNAME] $USER $Y/$m/$d $H:$M:$S From:$IP ログイン目的: $ANS” \

                | mail -s “\”$HOSTNAME\” root login” -r “$FROM” “$MAIL”

        fi

fi

ログイン理由を記載しないと強制的にログアウトして、ログインしてきたユーザー名を拾ってメールで管理者に送信するようにしている

まとめ

あざらし

最近は大規模なサーバー管理システムが整っているところがほとんどだからあまりこういったお手製のツールなんかは作らないけど、小規模な企業ならあり得る

私は開発人間ではないので、大した物は作れないですがある程のどスクリプトは書くことができます。

まあ、素人に毛が生えた程度ですがね。

でも、作っているととても楽しくなるのはやっぱり開発をやりたかったのかなーって今では思いますw

あざらし

はじめまして、あざらしです。 フリーターからエンジニア会社へ就職し、 現在はフリーランスのシステムエンジニアとして働いています。 本業のエンジニア業のかたわら、 ✍️ ブログ運営 と「収入の柱を増やす挑戦」を少しずつ続けています。 フリーター時代から比べると、 段階的に収入が増えていくのを実感できるのが素直にうれしい今日この頃。 このブログでは、日々の気づき・体験談 IT・ガジェット・ゲーム系の話 「調べて分かったこと」を噛み砕いた解説 などを中心に、ジャンルに縛られない雑記ブログとして発信しています。 「自分と同じように悩んでいる人のヒントになればいいな」 そんな気持ちで更新中です。 👉 プロフィール詳細は、名前「あざらし」をクリックしてください