我在 LTS 内核(4.19.75)上运行 Arch linux。我检查了更新的内核,同样的问题。
我确实安装了 debugfs,并且作为 root 我可以看到这个文件:
/sys/kernel/debug/tracing/kprobe_events
我尝试修复/运行/fork(随意命名,原始代码在这里https://github.com/evilsocket/opensnitch)访问它的 Go 程序。这是它的作用:
const (
systemProbesFile = "/sys/kernel/debug/tracing/kprobe_events"
)
func writeFile(filename string, data string) error { return ioutil.WriteFile(filename, []byte(data), 0755) }
// create the custom kprobe consumer
if err = writeFile(systemProbesFile, p.descriptor); err != nil {
return fmt.Errorf("Error while enabling probe descriptor for %s: %s", p.name, err)
}
它给了我这个错误(以root身份运行)
write /sys/kernel/debug/tracing/kprobe_events: no such file or directory
我也无法使用基本的 shell 命令(以 root 身份)写入它。“没有这样的文件”很奇怪,因为文件在那里。
我找不到关于这些特殊文件的很多信息,我最终阅读了这个:https ://www.kernel.org/doc/html/latest/trace/kprobetrace.html ...我没有找到任何原因我无法访问该文件。无论是通过简单的“回声”还是通过程序。
不知道我的系统上可能缺少什么/阻止我。
我正在使用 UEFI 启动运行,并且安全启动被禁用(在某个地方看到它可能很重要),我完全一无所知。
感谢任何知道在哪里看的人。
亲切的问候