【发布时间】:2020-09-16 08:20:21
【问题描述】:
我对二进制可执行文件的读取权限的全部影响感兴趣。确实,我遇到了一些我想了解的行为。
假设我有一个只调用 sleep(300) 的 C 程序。当二进制文件具有读取权限时,我可以检查与正在运行的程序关联的 /proc/$PID 文件夹。但是当我删除此权限时,我无法访问该文件夹:它不存在。
同样,如果我有一个更聪明的程序将 str 从一个指针复制到另一个指针,则在此可执行文件上调用 strace ,如果二进制文件是“可读”的,则会产生更好的结果。 (例如,strace 将显示每个指针指向的内容) 由于 strace 依赖 ptrace 来分析正在运行的程序内部,所以我不了解读取权限的影响。事实上,我相信读取权限只与依赖读取二进制文件的静态分析相关。
鉴于观察到的读取权限的影响,这是否意味着在安全性至关重要的服务器上删除所有二进制文件的读取权限是一种好习惯?
【问题讨论】: