agetty failed to open credentials directory を解決する
agetty が以下のメッセージを吐くので、対策を採ります。
Jun 17 06:29:25 hostname agetty[656]: failed to open credentials directory Jun 17 06:29:25 hostname agetty[660]: failed to open credentials directory
メッセージの意味は?
credentials directory が開けません、というメッセージですが、そんなものを設定した覚えもないですし、そもそも credential って何のこと? って状態です。agetty はコンソールからログインするためのデーモンですが、普通にログインできているので、特に対応する必要はありません。しかし、意味のないメッセージでログが汚くなるのはよくありません。
今回同じ時刻に2回同じメッセージが出ているのは、コンソール以外にシリアルコンソールも動いているためです。細かいことのようですが、問題解決の際は、なぜ同じメッセージが 2回出るのか、理由を明らかにしておくことは大切です。
$ systemctl status ● hostname State: running Units: 382 loaded (incl. loaded aliases) Jobs: 0 queued Failed: 0 units Since: Mon 2024-06-17 06:29:21 JST; 1 day 1h ago systemd: 255.7-1.fc40 CGroup: / ... ├─system.slice │ ├─system-getty.slice │ │ └─getty@tty1.service │ │ └─656 /sbin/agetty -o "-p -- \\u" --noclear - linux │ ├─system-serial\x2dgetty.slice │ │ └─serial-getty@ttyS0.service │ │ └─660 /sbin/agetty -o "-p -- \\u" --keep-baud 115200,57600,38400,9600 - vt220 ...
credential って何?
credential は systemd で使用される概念です。暗号化キー、証明書、パスワード、ID などが該当します。これらの機密性が高い情報を安全に取り扱うための機能、ということは分かるのですが、通常の PAM の認証で十分な場合はこれ以上の設定は必要ないです。
対策の方針
今回採用した対策
/etc/rsyslog.conf
をインストールしたパッケージを調べます。
$ rpm -qf /etc/rsyslog.conf rsyslog-8.2312.0-1.fc40.x86_64 $
rsyslog
と特定できたので、Fedora のパッケージソースを見に行きます。rawhide の rsyslog
パッケージに含まれる /etc/rsyslog.conf
を見ると、既に以下のように修正されているので、放置しておいても、いずれ対策されるものと推定されます。
# Use default timestamp format module(load="builtin:omfile" Template="RSYSLOG_TraditionalFileFormat") # To listen only on localhost and do not receive packets on other module(load="imuxsock" # provides support for local system logging (e.g. via logger command) SysSock.Use="off") # Turn off message reception via local log socket; # local messages are retrieved through imjournal now. module(load="imjournal" # provides access to the systemd journal FileCreateMode="0600" # Quiet warning and ensure privacy StateFile="imjournal.state") # File to store the position in the journal # Include all config files in /etc/rsyslog.d/
今回は、将来的な衝突を避けるため、rawhide の修正に習って、/etc/rsyslog.conf
を修正することにします(緑色の行を挿入する)。コメントを見ても、同じ意図で修正されています。
これで、rsyslog を再起動すると、warning が出なくなります。