1.使用cat/proc/sys/kernel/kptr_restrict命令查看配置文件值。
0
:不限制对内核指针的访问,即内核符号表信息是完全公开的。1
:普通用户无法直接读取内核指针,但具有CAP_SYSLOG
权限的进程可以读取。2
:完全限制对内核指针的访问,即普通用户和大多数进程都无法读取内核符号表信息
2. 操作命令
若要将 kernel.kptr_restrict
设置为 1 以实现完全限制访问,可执行以下命令:
sudo sysctl -w kernel.kptr_restrict=1
sudo
:用于以超级用户权限执行命令,因为修改内核参数通常需要管理员权限。sysctl -w
:-w
选项表示写入(write),用于临时修改内核参数的值。
3. 永久开启内核符号表信息保护
若希望在系统重启后配置依然生效,需要将配置写入 /etc/sysctl.conf
文件。
在文件中添加或修改如下内容:
kernel.kptr_restrict = 1
4. 验证配置是否生效
你可以使用以下命令查看 kernel.kptr_restrict
参数的当前值:
sysctl kernel.kptr_restrict
如果输出结果为 kernel.kptr_restrict = 1
,则表示配置已成功生效。