journald – 非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.journal的所有权组更改为systemd-journal,一切正常.然而,这似乎并不正确,因为文档没有说明任何内容.

有什么我缺少或实际上是否需要手动更改system.journal文件的组?

谢谢

解决方案是更改组所有权,并在创建.journal文件之前将粘性位添加到父文件夹.

chown :systemd-journal /var/log/journal/f9afeb75a5a382dce8269887a67fbf58
chmod g+s /var/log/journal/f9afeb75a5a382dce8269887a67fbf58
翻译自:https://serverfault.com/questions/717725/journalctl-access-for-non-root-users

转载注明原文:journald – 非root用户的journalctl访问权限