如何禁止普通用户查看 dmesg 信息
dmesg 能够输出 kernel ring buffer 中的内容,这些内容中可能会包含一些敏感信息。
根据 kernel docs 中的说明:
This toggle indicates whether unprivileged users are prevented from using dmesg(8) to view messages from the kernel’s log buffer. When dmesg_restrict is set to (0) there are no restrictions. When dmesg_restrict is set set to (1), users must have CAP_SYSLOG to use dmesg(8). The kernel config option CONFIG_SECURITY_DMESG_RESTRICT sets the default value of dmesg_restrict.
我们可以通过设置内核参数 dmesg_restrict
为 1
的方式来禁止普通用户查看 demsg 信息
sudo sysctl -w kernel.dmesg_restrict=1
我们来看一下现在 dmesg_restrict
的值是什么?
sysctl kernel.dmesg_restrict
kernel.dmesg_restrict = 1
现在再来用普通用户执行 demsg:
[lujun9972@T520 wikit.docker]$ dmesg dmesg: 读取内核缓冲区失败: 不允许的操作
会发现提示无法读取内核缓冲区,要让该设置永久生效,则需要修改 /etc/sysctl.conf
文件
sudo echo 'kernel.dmesg_restrict=1' >> /etc/sysctl.conf
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论