多分区Linux中可执行文件的绝对路径

问题描述

我正在使用 LSM 钩子拦截 exec 系统调用以打印正在执行的可执行文件的路径。在具有认分区选项的 Debian 上,可执行文件的路径是绝对路径。但是在具有多个分区的 Debian 上,tmp、home var 等具有单独的挂载点,第一个父目录被截断。例如,/tmp/abc.sh 中的文件显示为 abc.sh。其他挂载点的情况也是如此。在这种情况下,如何获取绝对路径

解决方法

首先,你不能在任何 LSM 钩子中获得绝对路径。只传递必要的数据(例如:结构、指针、标志等)。此外,发送的所有内容都是常量,因此您不会意外损坏任何内容。 其次,分区基路径的映射因分区方案而异。 最后,这绝对不是从 /tmp 目录执行内容的好方法。尝试将您的二进制文件放在适当的位置。