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
。