~ システム管理者からユーザへの適切な通知方法をマスターしよう ~
目次
■ 概要
システムの保守や障害情報など、重要な通知をユーザに伝える手段はシステム管理者にとって不可欠です。Linuxでは、ログイン時のメッセージ表示や、稼働中ユーザへのリアルタイム通知を簡単に行うことができます。
■ 通知の種類と使用場面
| 通知手段 | 使用タイミング | 対象ユーザ |
|---|---|---|
/etc/issue | ログイン前に表示(ローカル) | 端末ログインユーザ |
/etc/issue.net | SSH ログイン前に表示 | リモートユーザ |
/etc/motd | ログイン後に自動表示 | すべてのユーザ |
wall | 即時通知 | ログイン中の全ユーザ |
shutdown | シャットダウン前通知 | ログイン中の全ユーザ |
systemctl | シャットダウン等の制御 | ログイン中の全ユーザ(間接的に) |
■ ログインメッセージの設定
◯ /etc/issue
- 用途:ログイン前のバナー(例:警告メッセージなど)
- 編集例:
sudo nano /etc/issue
警告:この端末は監視されています。
無断使用は禁止されています。
◯ /etc/issue.net
- 用途:SSH ログイン前に表示されるメッセージ
- 例:
sudo nano /etc/issue.net
ようこそ。メンテナンス予定は今夜22:00です。
- SSH サーバがこれを使うには
/etc/ssh/sshd_configにて以下を有効化:
Banner /etc/issue.net
■ /etc/motd(Message Of The Day)
- ログイン直後に自動表示されるメッセージ
- システムからの通知を記載するのに便利
sudo nano /etc/motd
【重要】本日22時よりメンテナンスを行います。
■ ログイン中のユーザに通知する
◯ wall(write all)
- 現在ログインしているすべてのユーザに即時通知
echo "本日22:00よりメンテナンスを行います。" | sudo wall
出力例(全端末):
Broadcast message from root@server
(somewhere) at 21:00 ...
本日22:00よりメンテナンスを行います。
■ シャットダウン通知
◯ shutdown コマンド
- 自動的に通知メッセージを送信し、指定時刻にシャットダウン。
sudo shutdown -h +10 "10分後にシステムを停止します"
- 現在のスケジュール確認:
shutdown -c # キャンセル
■ systemctl を使った制御(通知には間接的)
sudo systemctl reboot
→ 通知を伴わず再起動が行われるため、wallやshutdownと併用すべき。
■ 実用シナリオ例
| シナリオ | 使用コマンド |
|---|---|
| 定期メンテ告知 | /etc/motd, wall |
| 突発トラブルによる再起動 | wall, shutdown |
| SSHログイン時の警告 | /etc/issue.net(+sshd設定) |
■ まとめ
ユーザ通知は「タイミング」と「手段」の組み合わせが重要です。
ログイン前後・稼働中それぞれに適切な通知方法を使い分けましょう。
コメント