警告:由于权限不足,某些日志文件未打开

警告:由于权限不足,某些日志文件未打开

systemctl status <servicename>.service手动停止新安装的服务后运行时,我收到此警告。

“警告:由于权限不足,某些日志文件未打开。”

日志文件是什么意思?它指的是什么?

答案1

tl;dr:使用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 [email protected]~
-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

这意味着root的成员systemd-journal可以直接读取日志文件。表示+还设置了附加权限 (ACL):

$ getfacl [email protected]
...
group:adm:r-x     #effective:r--
...

这表示组中的任何人adm也具有读取权限。

systemd当您要求它告诉您有关期刊的信息时,会考虑到这一点。如果您不在 groupsystemd-journal或中admsystemd则将检查日志是否属于您的--user巴士,或者是否有特定polkit规则授予您特定条目的权限。它只会告诉您您被允许知道的信息。

最简单的答案是使用sudo systemctl status有效地成为root然后询问systemctl该信息。

答案2

正如上面评论中的 @Quolonel Question 所建议的,最好的(当然也是最简单的)方法可能是确保您的用户属于该adm组。在我的 Ubuntu 系统上,可以这样实现:

sudo usermod -G adm <myuser>

注销您的用户会话并重新登录,您应该能够访问该信息,而无需sudo

相关内容