我可以在没有设置执行权限位的情况下执行 Linux 二进制文件吗?

Tom*_*Tom 27 linux

有没有办法在没有设置执行位的 Linux 下运行可执行二进制文件?chmod +x不是一个选择。

例如,它的权限可能是r--r--r--唯一的。

无需设置执行位并通过将源传递给解释器(例如bash script.sh或 )来放入shebang 即可执行脚本python script.py

那么是否有类似的东西execute abinaryfile会将目标代码加载到内存中并运行它?

Dol*_*000 40

您可以使用 /lib/ld*.so 作为 ELF 解释器,如下所示:

$ cp /bin/ls /tmp/ls
$ chmod a-x /tmp/ls
$ /lib/ld-linux.so.2 /tmp/ls
Run Code Online (Sandbox Code Playgroud)

实际名称因架构而异。一些名称包括/lib/ld-linux.so.2/lib/ld-linux-x86-64.so.2/lib/ld-2.7.so。您可能会发现它单独作为/lib/ld*.