0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Debian系Linuxでshutdownのwallメッセージが届かない理由を調べた

0
Posted at

先に結論

Debian 13(trixie)以降、およびRaspberry Pi OSの最新版では、セキュリティ上の理由により wall コマンドの権限が変更・廃止されています。そのため shutdown のメッセージが他ユーザーに届きません。

▼wallコマンド使えなかった私の環境
image.png

同じ現象で詰まった方の参考になれば。

きっかけ

LPICの勉強中に「shutdownコマンドはwallを使ってログイン中の全ユーザーにメッセージを通知する」という記述を読み、実際に試してみました。

sudo shutdown -h +5 "shutdown soon!"

別のユーザー(taro)でSSHログインして待っていましたが、メッセージが届きません。

調査の流れ

まずwallを単体で試す

wall "hello"

これも届かず。エラーも出ない。

/dev/pts のパーミッションを確認

Linuxでは各ユーザーのSSHセッションは /dev/pts/0/dev/pts/1 のような仮想端末ファイルとして存在しています。wall はこのファイルにテキストを書き込むことで画面に表示させる仕組みです。

ls -l /dev/pts/
# crw--w---- 1 udon tty  pts/0
# crw------- 1 taro tty  pts/4

pts/0tty グループに書き込み権限があります。問題なさそう。

wallコマンド自体を確認

ls -l $(which wall)
# -rwxr-xr-x 1 root root 67912 May 10 2025 /usr/bin/wall

あれ、-rwxr-xr-x です。本来であれば tty グループのsetgidビット(s)がついて -rwxr-sr-x 1 root tty になっているはずなのに、ありません。

wall が他ユーザーの /dev/pts/* に書き込むには tty グループの権限が必要で、setgidビットがあれば実行時に自動でその権限を借りられます。ビットがないと一般ユーザーでは他ユーザーのptsに書き込めません。

試しに root で直接書き込むと届くことを確認:

sudo su
echo "hello" > /dev/pts/0  # rootなら届く

straceで動きを追う

strace wall 'hello' 2>&1

ログを見ると /dev/pts/* への書き込みが一切行われていませんでした。メッセージ送信まで到達していない様子。

mesgコマンドがない

受信側の確認のために mesg を使おうとしたら、コマンド自体がインストールされていませんでした。

原因:2段階のセキュリティ対応

調べたところ、以下のRedditのスレを発見。

スレのリンクを確認すると、Debianのパッケージ変更ログに記載がありました。

ステップ1:CVE-2024-28085 への対処(2024年3月)

util-linux 2.39.3-11 での変更:

* Apply upstream patch fixing CVE-2024-28085
* No longer install wall, write setgid tty

wall コマンドに脆弱性が発見され、その対処として setgid ttyビットが削除されました。これにより一般ユーザーからの wall は他ユーザーの端末に書き込めなくなりました。

ステップ2:mesg・write の完全廃止(2024年11月)

util-linux 2.40.2-11 での変更:

* The mesg(1) and write(1) programs are no longer provided.
  It is believed chatting between users is nowadays done using
  more secure facilities.

mesgwrite コマンド自体がパッケージから削除されました。「ユーザー間のやり取りはより安全な手段で行われるようになった」という理由です。

まとめ

ということで、新しいDebian系のOSではwallコマンドが使えないということが分かりました。
LPICの勉強は遅々として進まず……。笑

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?