動的にmotd(message of the day)を表示させる – Debian/Ubuntu編 –

bash

motdって?

ログインした時に、メッセージを表示する機能の事です。
おもしろい機能であると同時に便利な機能です。
昔のUNIXでは、/etc/motd にテキストを書いておき、その内容がログイン時に表示されるだけでした。
それでも、そのサーバ独自の機能や、Tips、注意事項などを書いておき、不慣れなオペレータに注意を促すことができたりと便利だったのです。

最近は動的な内容を表示できる

定型文を表示できるだけでも十分便利なのではありますが、今は個人のPCにUNIXを導入する時代です。自分しかログインしないのなら、注意事項よりも動的に便利な情報を表示して欲しい。と思いませんか?
Ubuntuでは、簡単なシステム情報、ニュース、パッケージ更新情報が表示されます。

Ubuntu 19.04 インストール直後のログイン画面

これらのシステム情報やUbuntuニュースの表示をどのように実現しているのかは、/etc/update-motd.d/ 以下のファイルを見ればすぐに理解できるとおもいます。
ファイル名の頭に数字をつけ、実行される順番が分かりやすくされています。これらのスクリプトはファイル名の昇順で順に実行されていきます。systemdに置き換えられる前のinitではよく使われた手法です。

最終行の最新ログイン履歴は、motdではなく、pam_lastlog.soから表示されています。

motdにfortuneを表示させよう

ログイン時にメッセージを表示させる方法が分かったので、さっそくスクリプトを設置してログイン画面をいじってみましょう。
以前、このblogで書いたこともある、fortuneを実行させる事にします。
fortuneとデータがインストールできたので、スクリプトを設置して、実行権限を付与しておきます。
準備ができたので、一旦ログアウトしてログインしてみましょう。
いい感じですね 🙂
この仕組みは、Debianでも同じなので(Debianはもっとシンプルですが)同様の方法でmotdを書き換える事が可能です。redhat系はどうなのかな?
カテゴリー PCタグ

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)