非root用户的journalctl访问


12

有日志的文档说,将用户添加到“ 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吗?或者实际上是手动更改文件组所必需的吗?

谢谢


2
可能与systemd
莱奥林

Answers:


6

解决方案是.journal在创建文件之前更改组的所有权并在父文件夹中添加一个便利位。

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

journalctl对我有用,但是它看不到root可以看到的所有消息……
Gert van den Berg,

@GertvandenBerg尝试检查是否可以读取现有文件systemd-journal。此处发布的命令确保仅可读新文件,而不可读现有文件。
michal kralik '19

在Ubuntu设置上,permissiosn是正确的...作为root的journalctl输出包含所有服务,而似乎systemd-journal组中的普通用户只能获取与引导相关的消息...。(但是那可能与不再登录以登录新组有关-现在看起来还不错...)
Gert van den Berg,
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.