首页 > 解决方案 > 允许单个用户访问 /proc/kallsyms

问题描述

该文件对所有用户都可读:/proc/kallsyms

该文件包含每个内核符号的地址(当我是 root 时)

但是当我是经典用户时,我只看到 0x00000000 地址。

有没有办法让经典用户查看地址(我是计算机上的 root)

谢谢

标签: linux-kernel

解决方案


正如 Jonathon Reinhart 发布的源代码片段所示,普通用户可以在/proc/kallsyms两者/proc/sys/kernel/kptr_restrict /proc/sys/kernel/perf_event_paranoid设置为时查看地址0

以下适用于内核版本 5.3.0:

$ echo 0 | sudo tee /proc/sys/kernel/kptr_restrict > /dev/null
$ echo 0 | sudo tee /proc/sys/kernel/perf_event_paranoid > /dev/null
$ head /proc/kallsyms

推荐阅读