Journald

非 root 使用者的 journalctl 訪問權限

  • April 6, 2020

journald 文件說,將使用者添加到“systemd-journal”組或“adm”組允許使用者訪問系統範圍的日誌。

我正在執行最新的 CentOS 7,我似乎在以非 root 使用者身份訪問日誌時遇到問題。

這是我的配置:

$ id
uid=1000(centos) gid=1000(centos) groups=1000(centos),4(adm),10(wheel),190(systemd-journal) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

$ cat /etc/systemd/journald.conf
[Journal]
Storage=persistent

$ journalctl
-- Logs begin at Sat 2015-08-29 16:35:52 UTC, end at Sat 2015-08-29 17:28:47 UTC. --
Aug 29 16:35:52 hostname ... <log continues>

journalctl 輸出中沒有系統日誌。這是我的權限配置:

$ ll -a /var/log/journal/f9afeb75a5a382dce8269887a67fbf58/
total 24592
drwxr-xr-x. 2 root root     4096 Aug 29 16:35 .
drwxr-xr-x. 3 root root     4096 Aug 29 17:28 ..
-rw-r-----. 1 root root 16777216 Aug 29 17:27 system.journal
-rw-r-----+ 1 root root  8388608 Aug 29 17:33 user-1000.journal

如果我將所有權組更改system.journalsystemd-journal一切正常。但是,這似乎不對,因為文件沒有說明任何內容。

有什麼我遺漏的,還是實際上需要手動更改system.journal文件組?

謝謝

解決方案是在創建文件之前更改組所有權並在父文件夾中添加一個粘性位.journal

chown :systemd-journal /var/log/journal/f9afeb75a5a382dce8269887a67fbf58
chmod g+s /var/log/journal/f9afeb75a5a382dce8269887a67fbf58

好吧,我沒有執行 Centos 7,但發現了這個問題。我做了這些步驟,但沒有幫助,至少在 Ubuntu 18.04 上我收到一條消息

Hint: You are currently not seeing messages from other users and the system.
     Users in groups 'adm', 'systemd-journal' can see all messages.
     Pass -q to turn off this notice.

所以我確實sudo usermod -a -G systemd-journal my_user然後退出(從 ssh)並重新登錄以使組更改生效,之後我可以看到我的普通使用者的日誌消息。

引用自:https://serverfault.com/questions/717725