非 root 用户的 journalctl 访问

非 root 用户的 journalctl 访问

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

谢谢

答案1

.journal解决方案是在创建文件之前更改组所有权并向父文件夹添加粘滞位。

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

答案2

好吧,我没有运行 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)并重新登录以使组更改生效,之后我就可以用我的普通用户身份查看日志消息。

相关内容