在 Debian / Mint 上使用/不使用 sudo 的 dmesg

在 Debian / Mint 上使用/不使用 sudo 的 dmesg

我前段时间就注意到了这个差异,但直到现在,我才懒得去问,这是为什么?

在 Linux Mint 18(基于 Ubuntu)上,我可以在dmesg不使用sudo.

在 GNU/Linux Debian 9 上,我必须使用 sudo 才能使用例如dmesg.

我想知道,这种行为的编码在哪里?并且可以改变吗?

答案1

这是由dmesg_restrict sysctl条目控制的,记录在内核文档。它的默认值由内核配置值决定CONFIG_SECURITY_DMESG_RESTRICT,该值通常在现代发行版中启用。

您可以通过运行查看当前值

/sbin/sysctl kernel.dmesg_restrict

root并使用 (as )更改其值

sysctl -w kernel.dmesg_restrict=1

(启用限制)或

sysctl -w kernel.dmesg_restrict=0

(禁用它并恢复旧的行为)。

要使此更改永久生效(在启动时自动应用),请将其写入/etc/sysctl.conf以下配置文件/etc/sysctl.d

echo kernel.dmesg_restrict=0 | sudo tee -a /etc/sysctl.d/99-dmesg.conf

答案2

这是较新内核的默认内核配置:CONFIG_SECURITY_DMESG_RESTRICT=y

答案3

正如其他人回答的那样,您可以使用/sbin/sysctl在运行时检查和更改值。

但是,为了使这些更改在重新启动后保持不变,您应该将它们添加到/etc/sysctl.conf

相关内容