Journalctlは、sudoなしで他のユーザーとして実行されているユニットを記録します。

Journalctlは、sudoなしで他のユーザーとして実行されているユニットを記録します。

2 人のユーザーがいるとしましょう。 1 つは sudo 権限を持つ管理者、1 つは一般ユーザーです。一般ユーザーはプロセスを実行しますが、管理者はsudoを使用せずにプロセスログを表示したいと思います。この目標を達成する方法は?また、admとsystemd-journalにadminを追加しようとしましたが、他のユーザーとシステムログを表示できないというエラーメッセージは消えましたが、ログはまだ表示されません。プロセスは/var/log/journal dir stat に以下を書き込みます。 Size: 4096 Blocks: 8 IO Block: 4096 directory Device: 803h/2051d Inode: 17039878 Links: 2 Access: (0755/drwxr-xr-x) Uid: ( 0/ root) Gid: ( 0/ root) Access: 2022-11-03 21:45:05.578697401 +0100 Modify: 2022-10-17 22:40:23.353619074 +0200 Change: 2022-10-17 22:40:23.353619074 +0200 Birth: -

答え1

これマニュアルページ指摘...

すべてのログファイルは、「systemd-journal」、「adm」、および「wheel」グループのメンバーが読み取ることができます。

したがって、あなたがこれらのグループの1つまたはrootユーザーの場合は、ログに記録されているすべてのメッセージを表示できます。特定のユーザーのログのみを表示するには、特定の基準(ユーザーID:など)に一致する項目をフィルタリングします journalctl _UID=1000

_GID=1000(ほとんどの場合、新しいセッションを開くときと同じ_SYSTEMD_OWNER_UID=1000ですが、いくつかのpamメッセージも含まれています)など、一致させる他の興味深いフィールドがあります。_UID[email protected]_SYSTEMD_SLICE=user-1000.slice

Journalctlの詳細出力が有効になっている場合は、これらのフィールドをさらに表示できますjournalctl -o verbose

関連情報