変更要約: 初版(主題2.04・副主題2.04.1〜2.04.6に対応)
4.3ユーザへの通知
システム保守作業の前後にログインユーザーへ状況を伝える仕組みを学びます。ログイン前メッセージの/etc/issue・/etc/issue.net、ログイン後メッセージの/etc/motd、稼働中の全ユーザーへ即時通知するwall、シャットダウン予告を兼ねるshutdown、サービス制御と組み合わせるsystemctlを押さえます。
メンテナンスの予告なしにシステムを止めると、作業中のユーザーはデータを失いかねません。ユーザへの通知は地味に見えて運用の信頼を支える基本作法で、「いつ・どこで・誰に」伝えるかによって使うファイルやコマンドが変わります。
4.3.1ログイン前後の静的メッセージ
- /etc/issue=ローカルコンソールのログインプロンプト前に表示。/etc/issue.net=telnet等ネットワーク経由のログイン前に表示(SSHでは既定で使われない実装が多い)。
- /etc/motd(message of the day)=ログイン成功後に表示されるメッセージ。定期メンテナンス予定やポリシーの告知に使う。
4.3.2稼働中ユーザーへの即時通知とシャットダウン
- wall=現在ログイン中の全ユーザーの端末へ即時メッセージを配信(
wall "10分後に再起動します")。 - shutdown=システム停止・再起動を指定時刻に予約し、実行前に自動でユーザーへ警告メッセージを配信する(
shutdown -r +10 "メンテナンスのため再起動します")。 - systemctl=サービス単位の停止・再起動(
systemctl restart等)を実行する際、事前にwall等で告知してから操作するのが運用上の定石。
「issue=ログイン前・ローカル」「issue.net=ログイン前・ネットワーク」「motd=ログイン後」「wall=稼働中の全ユーザーへ即時」「shutdownは実行前に自動で警告を出す」の対比が定番です。
4つの仕組みは「いつ見えるか」の軸で整理すると迷いません。/etc/issueと/etc/issue.netはログインすらしていない利用者にも見えるため、システム名やポリシー、法的な警告文などログイン前に示すべき情報を置きます(issue はローカルコンソール、issue.net はネットワーク経由のログインプロンプト)。/etc/motdはログインに成功した後に初めて見えるため、その人固有の情報(本日のメンテナンス予定、パスワード期限など)を伝えるのに向きます。稼働中に緊急の周知が必要になったらwallで即座に全端末へ届けます。計画停止ではshutdown単体で足りることが多く、たとえば shutdown -h +30 "30分後にシステムを停止します" のように実行すると、指定時間まで定期的に警告メッセージが全ユーザーへ自動配信されるため、個別に wall を打つ手間が省けます。個々のサービスだけを再起動する場合(systemctl restart <サービス名> 等)はシステム全体の停止ではないため shutdown の自動警告の対象外で、影響が及ぶ利用者には運用者がwallなどで別途知らせる必要がある点に注意します。
| 仕組み | 表示タイミング | 用途 |
|---|---|---|
| /etc/issue | ログイン前(ローカル) | システム名・警告文 |
| /etc/issue.net | ログイン前(ネットワーク) | 同上(ネットワーク経由) |
| /etc/motd | ログイン成功後 | メンテナンス予定等の告知 |
| wall | 稼働中に即時 | 全ログインユーザーへ配信 |
ひっかけ: 「/etc/motd はログイン前に表示される」は誤りです。motd はログイン成功後に表示され、ログイン前の表示は issue/issue.net の役割です。また「systemctl でサービスを再起動すると shutdown 同様に全ユーザーへ自動警告される」も誤り=自動警告はシステム全体の shutdown の機能で、個別サービスの再起動には含まれません。
4.3.3この節のまとめ
- issue=ログイン前(ローカル)/issue.net=ログイン前(ネットワーク)/motd=ログイン後
- 緊急周知は wall、計画停止は shutdown(実行前に自動警告)。個別サービス再起動(systemctl)は別途通知が必要
進捗の記録にはログインが必要です。
理解度チェック
(軽い確認用)Q1. システムに現在ログイン中の全ユーザーへ、5分後にメンテナンスのため一時的にサービスを停止する旨を今すぐ知らせたい。適切なコマンドは?
Q2. システムをまだ持たないネットワーク経由のログイン試行者に対して、ログインプロンプトの前に警告文を表示したい。編集すべきファイルは?

