質問:
システムユーザー単位の Journalctl 出力に「ジャーナルファイルが見つかりません」と表示されます。これはテスト中の1人のsssユーザーにのみ発生し、すべてのローカルユーザーが正しく機能しているようです。編集:sssは問題ではないようです。まさにこのユーザーが問題だということです。正確なコマンドと出力:
$journalctl --user -u myservice
No journal files were found.
システム環境
- RHEL 8.4
- システム239(239-45.el8_4.3)
- カーネル: 4.18.0-305.19.1.el8_4.x86_64
トラブルシューティング:
私は次の投稿を読んで、各投稿の問題を解決しようとしました。
- https://stackoverflow.com/questions/30783134/systemd-user-journals-not-being-created
- https://bbs.archlinux.org/viewtopic.php?id=193518
- Journalctlが「--項目なし--」と言うのはなぜですか?
- Journalctl --user は「ジャーナルファイルが見つかりません」を提供します。
私は以下を試しました:
- 再起動。
- ホストオペレーティングシステムを再展開します。
- テスト用にローカルユーザーを作成してみてください。
- テストを続行する前に、まずSSHまたは端末を使用して直接使用していた新しく作成されたローカルユーザーアカウントにログインしていることを確認しました。また、sshingをテストしてsssユーザーアカウントを使用することができました。
- Journalctlサービスの再起動(
systmectl restart systemd-journald.service
) - /etc/systemd/journald.confがあることを確認してください
Storage=persistent
。しかし、自動と揮発性も試しましたが、変更されませんでした。 export XDG_RUNTIME_DIR=/run/user/$(id -u)
ローカルユーザーと関連ユーザーの〜/ .bashrcに追加します。その後、ファイルをインポートします。- 確認遅延が有効になりました。
- この問題は、ボックス内の特定のユーザーが1人だけに発生することがわかりました。新しいユーザーを作成すると、この問題は発生しません。
- そのユーザーアカウントのuidはgid / groupとは異なります。しかし、新しく作成されたアカウントがgid / groupとは異なるuidを持つように調整し、新しいuidに対して〜/.bashrcを調整し、再起動すると、アカウントに正しいJournalctl出力が表示されるかどうかをテストしました。
- 問題のユーザーアカウントはsssユーザーのようです。
- ユーザーのd-busチャンネルが稼働していることを確認しました
ps
。ユーザーが実行されているようです。/usr/lib/systemd/systemd --user
systmectl --user
関連ユーザーとして他のコマンドを実行できます。ステータスを確認し、ユーザーサービスを開始、停止、および再起動できます。- を実行すると、
journalctl --user
出力は次のようになります。$ journalctl --user No journal files were found. -- No entries --
- を実行すると、
journalctl --user --verify
出力は次のようになります。$ journalctl --user --verify No journal files were found.
- 私はsssユーザーを構築した別のコンピューターで上記のすべてを行いましたが、問題はユーザーアカウントにありました。
- Journalctlの出力が見つかりました!ただし、これは/var/log/messages(rhelシステム上のsyslogのJournalctl出力のデフォルトの場所)にあります。なぜそこには表示されますが、--user領域には表示されないのでしょうか?
systemctl status user.slice --no-pager
各uidの正しいユーザースライスと正しいサービスを確認してみると、systmectl --user status myservice
正しいスライスも表示されます。ところで、確認してみると、関連するユーザーのリストは表示ls /var/log/journal/<number>
されません。user-<UID>@UUID.journal
この問題は、sssを使用してテストしているユーザーにのみ発生するようです。このシステムはsssを管理していないため、このユーザーを削除または再作成することはできません。
この特定のsssユーザーjournalctl --user
出力は表示されませんが、ローカルユーザーが表示されるのはなぜですか?私がここで何を見逃しているのでしょうか?この問題を解決する方法がわかりませんか?提案がありますか?
編集する:まあ、sssとは何の関係もないようです。私は独自のADサーバー、統合Kerberos、SSSdを展開し、ユーザーを設定し、Journalctlが正常に動作しました。
現時点では、なぜこのユーザーにJournalctlが機能しないのかわかりません。トラブルシューティングに関するアドバイスが役に立ちます!
編集2:--userサービスのJournalctl出力が表示されますが、/var/log/messages
これはルートからのみアクセスできることがわかりました。
答え1
問題を発見しました!そのユーザーのUID / GIDは< 1000です。 UID / GIDを「1111」に調整してログアウトしてから再度ログインすると、Journalctlがすぐに機能し始めました!
読んだ後この投稿ジャーナルctlがシステムユーザー用だと思っていたsystemd-userユニットとの操作を許可しない作業を行っている可能性があることに気づきました。