加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

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

发布时间:2020-12-13 18:09:59 所属栏目:Linux 来源:网络整理
导读:如果文件具有权限-rwx-wx-wx可以被其他用户和组用户读取,还是只能执行和写入?有没有办法通过执行它来读取可执行文件? 解决方法 具有-rwx-wx-wx权限的文件具有对所有者的读/写/执行权限,以及对其他所有人的写/执行(但不读取)权限. 如果它是一个脚本(通常是
如果文件具有权限-rwx-wx-wx可以被其他用户和组用户读取,还是只能执行和写入?有没有办法通过执行它来读取可执行文件?

解决方法

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

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

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

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读