linux – 可以读取可执行文件吗?

前端之家收集整理的这篇文章主要介绍了linux – 可以读取可执行文件吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如果文件具有权限-rwx-wx-wx可以被其他用户和组用户读取,还是只能执行和写入?有没有办法通过执行它来读取可执行文件

解决方法

具有-rwx-wx-wx权限的文件具有对所有者的读/写/执行权限,以及对其他所有人的写/执行(但不读取)权限.

如果它是一个脚本(通常是第一行带有#!的文本文件),那么其他人就无法执行它,因为执行脚本确实会执行解释器,而解释器必须能够读取脚本. (解释器必须是二进制文件,而不是另一个脚本.)(实际上,对于所有系统都不是这样; Ubuntu,3.2.0 Linux内核,允许解释器本身是一个解释的脚本.似乎有一个限制大约4个级别.这不太可能与这个问题有关.)

如果它是二进制可执行文件,则可以直接执行,但无法读取其内容.这意味着,例如,除了所有者之外的其他人可以将其作为命令运行,但无法获取可执行文件的副本.

当然执行需要读取,但它由内核读取,而不是由用户读取.您可以通过检查进程运行时的内存来获取有关可执行文件内容的一些信息,但我怀疑您是否可以重新构建二进制可执行文件.如果可执行文件是setuid,则无法检查进程的内存(除非您有权访问正在执行的帐户).

顺便说一句,-rwx-wx-wx是一组非常奇怪的权限;它保护文件不被所有者以外的任何人读取,但允许任何人修改它.我想不出一个有意义的案例.

猜你在找的Linux相关文章