LinuCレベル2 201試験の例題と解説
2.04.3ユーザへの通知
LinuCレベル2 201試験の出題範囲から「2.04.3 ユーザへの通知」についての例題を解いてみます。ログイン中のユーザへの通知について学んでいきましょう。
例題
現在システムにログオンしているユーザ全員に、「10:00になったら本システムをシャットダウンする」という旨の通知のみを送信する方法を全て選択してください。
- shutdown -k 10:00
- wall "通知するメッセージ"
- /etc/motd に通知するメッセージを記載する
- dmesg "通知するメッセージ"
※この例題は実際の試験問題とは異なります。
解答と解説
正解は、「1. shutdown -k 10:00」と「2. wall "通知するメッセージ"」です。
shutdownコマンドは、システムを終了させることのできるコマンドですが、-kオプションを使用することでシステムを終了せず、ログイン中のユーザに通知のみ行うことができます。
以下は、shutdownコマンドを使ってログイン中のユーザに通知を行う例です。
通知を送信する側
[root@linuc ~]# shutdown -k 10:00
Shutdown scheduled for Mon 2023-10-02 10:00:00 JST, use 'shutdown -c' to cancel.
通知を受ける側
[user01@linuc ~]$
Broadcast message from root@linuc on pts/0 (Mon 2023-10-02 09:46:57 JST):
The system will power off at Mon 2023-10-02 10:00:00 JST!
このように、-kオプションと引数に時間を指定することで、「10:00になったら本システムをシャットダウンする」という旨の通知のみを送信することができます。
また、wallコマンドは、ログオンしているユーザ全員にメッセージを送信するためのコマンドです。
引数に、通知したいメッセージを記載します。
以下は、wallコマンドを使って、ログオンしているユーザに「10:00になったら本システムをシャットダウンする」という旨の通知を行う例です。
通知を送信する側
[root@linuc ~]# wall "The system will power off at Mon 2023-10-02 10:00:00 JST!"
通知を受け取る側
[user01@linuc ~]$
Broadcast message from root@linuc (pts/2) (Mon Oct 2 09:51:24 2023):
The system will power off at Mon 2023-10-02 10:00:00 JST!
よって、「1. shutdown -k 10:00」と「2. wall "通知するメッセージ"」が正解となります。
例題の選択肢を確認してみましょう。
1.shutdown -k 10:00
正解です。
前述の通り、-kオプションを使用することでシステムを終了せず、ログイン中のユーザに通知を行うことができます。
2.wall "通知するメッセージ"
正解です。
前述の通り、wallコマンドの引数に通知するメッセージを指定することで、ログイン中のユーザに通知を行うことができます。
3./etc/motd に通知するメッセージを記載する
不正解です。
/etc/motdは、ログインしたユーザに伝えたいメッセージを記載するファイルです。
/etc/motdにメッセージを記載しておくことで、ユーザがログインした際、ログインシェルが起動される前に記載したメッセージが表示されます。
以下は実行例です。
/etc/motdに以下の内容を記載しておきます。
**************************************************************
The system will power off at Mon 2023-10-02 10:00:00 JST!
**************************************************************
ユーザがシステムにログインすると下記のようにメッセージが表示されます。
$ ssh user01@linuc
user01@linuc's password:
**************************************************************
The system will power off at Mon 2023-10-02 10:00:00 JST!
**************************************************************
Last login: Mon Oct 2 09:56:56 2023 from 10.1.3.18
[user01@linuc ~]$
このように、ログインしたタイミングでメッセージを表示させることができます。しかし、すでにログインしているユーザに対して通知は行うことができないため不正解となります。
4.dmesg "通知するメッセージ"
不正解です。
dmesgは、カーネルのリングバッファを検査または制御するために使用するコマンドです。
ログインしているユーザに対して通知は行うことができないため不正解となります。
ユーザへの通知方法は、ログイン中のユーザに通知するのか、システムにログインしたタイミングで通知するのかによっても手段が変ってきます。
適切な方法で、ユーザへ通知できるようにしておきましょう。
例題作成者
株式会社デージーネット OSS研究室 橋本 知里