长话短说:使用sudo systemctl status ....
当您使用 时systemctl,您正在使用代理与systemd根进程进行通信。 systemd可能会跟你顶嘴,但它不会告诉你整个故事,除非你有权限这样做。
其中一部分systemctl status是向您显示该单元的最新日记条目。
在我的设置中,文件/var/log/journal/{machine-id}/*.journal具有以下权限:
-rw-r-----+ 1 root systemd-journal 117440512 Jun 28 08:02 system@0005e27bc7072026-42898ef22d6040a1.journal~
-rw-r-----+ 1 root systemd-journal 92274688 May 31 08:21 system@70d66b763a2e48928c16fc2c8a23fbfa-0000000000000001-0005e0363468a504.journal
-rw-r-----+ 1 root systemd-journal 50331648 Jun 2 12:05 system@70d66b763a2e48928c16fc2c8a23fbfa-000000000001a077-0005e048c99c4a31.journal
Run Code Online (Sandbox Code Playgroud)
这意味着root的成员systemd-journal可以直接读取日志文件。表示+还设置了附加权限 (ACL):
$ getfacl system@70d66b76...a504.journal
...
group:adm:r-x #effective:r--
...
Run Code Online (Sandbox Code Playgroud)
这表示组中的任何人adm也具有读取权限。
systemd当您要求它告诉您有关期刊的信息时,会考虑到这一点。如果您不在 groupsystemd-journal或中adm,则将systemd检查日志是否属于您的--user巴士,或者是否有特定polkit规则授予您特定条目的权限。它只会告诉您您被允许知道的信息。
最简单的答案是使用sudo systemctl status有效地成为root然后询问systemctl该信息。