无需 sudo 即可运行 root 拥有的二进制文件

无需 sudo 即可运行 root 拥有的二进制文件

我在面试时遇到一个问题:

如何使用user1没有sudo权限且无法访问root帐户的用户来执行(运行)程序:

$ whoami
user1
$ ls -l ~/binary_program
-rw-r--r-- 1 root root 126160 Jan 17 18:57 /home/user1/binary_program

答案1

您可以使用Linux动态链接器/加载器直接运行ELF 可执行文件您已阅读但没有执行权:

$ /lib/ld-linux.so.* /home/user1/binary_program

当正常执行ELF可执行文件时,.interp使用存储在程序代码段中的动态链接器。直接调用动态链接器(在工作面试之外)的原因包括向其传递命令行选项以修改其行为。

请注意,动态链接器的实际位置可能很大程度上取决于环境,例如在 64 位 Ubuntu 中,链接器位于/lib64/ld-linux-x86-64.so.2.

答案2

由于您已阅读许可:

$ cp ~/binary_program my_binary
$ chmod +x my_binary
$ ./my_binary

当然,这不会自动神奇地授予您升级的权限。您仍将作为普通用户执行该二进制文件。

相关内容