kernel.log 保持为空:“rsyslogd:imklog:无法打开内核日志 (/proc/kmsg):不允许操作。”

Fel*_*lix 5 rsyslog

我在 VPS 上(Ubuntu 14.04.2 LTS、Kernel 3.13.0-042stab094.8、rsyslog 7.4.4-1ubuntu2.5)并且 kernel.log 保持空白,只有这一行:

rsyslogd: imklog: cannot open kernel log (/proc/kmsg): Operation not permitted.
Run Code Online (Sandbox Code Playgroud)

服务器预先配置了来自 busybox 的 syslogd 和 klogd。我卸载了它们并使用 apt-get 安装了 rsyslog。一切似乎都运行良好。我在所有其他日志文件中都有条目。

我不确定它是否与此错误有关:https ://bugs.launchpad.net/ubuntu/+source/rsyslog/+bug/1366829

Mir*_*ici 6

我认为VPS不是虚拟机,而是容器。出于安全原因,非特权容器无权访问内核日志。

  • 你是对的,容器需要使用“--privileged”运行 (3认同)

sho*_*hok 0

读取/proc/kmsg需要超级用户权限。您是否以 root 身份启动 rsyslogd ?

如果是这样,请运行命令ls -al /proc/kmsg并将输出粘贴到此处。

  • 在我的 Ubuntu 12.04 LTS 上,权限与您计算机上的权限完全相同。基本上,rsyslogd 以 root 身份启动并打开 /proc/kmsg,然后它会删除权限。似乎某些内核/rsyslogd 组合存在权限下降问题(例如:[阅读此处](https://bugs.launchpad.net/ubuntu/lucid/+source/rsyslog/+bug/523610)。您可以尝试要禁用权限删除功能:编辑“/etc/rsyslog.conf”并用“$PrivDropToUser syslog”和“$PrivDropToGroup syslog”注释行,然后重新启动 rsyslogd。 (2认同)