如果它是一个脚本(通常是第一行带有#!的文本文件),那么其他人就无法执行它,因为执行脚本确实会执行解释器,而解释器必须能够读取脚本. (解释器必须是二进制文件,而不是另一个脚本.)(实际上,对于所有系统都不是这样; Ubuntu,3.2.0 Linux内核,允许解释器本身是一个解释的脚本.似乎有一个限制大约4个级别.这不太可能与这个问题有关.)
如果它是二进制可执行文件,则可以直接执行,但无法读取其内容.这意味着,例如,除了所有者之外的其他人可以将其作为命令运行,但无法获取可执行文件的副本.
当然执行需要读取,但它由内核读取,而不是由用户读取.您可以通过检查进程运行时的内存来获取有关可执行文件内容的一些信息,但我怀疑您是否可以重新构建二进制可执行文件.如果可执行文件是setuID,则无法检查进程的内存(除非您有权访问正在执行的帐户).
顺便说一句,-rwx-wx-wx是一组非常奇怪的权限;它保护文件不被所有者以外的任何人读取,但允许任何人修改它.我想不出一个有意义的案例.
总结以上是内存溢出为你收集整理的linux – 可以读取可执行文件吗?全部内容,希望文章能够帮你解决linux – 可以读取可执行文件吗?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)