![即使以 root 身份也无法执行某些程序](https://linux22.com/image/85726/%E5%8D%B3%E4%BD%BF%E4%BB%A5%20root%20%E8%BA%AB%E4%BB%BD%E4%B9%9F%E6%97%A0%E6%B3%95%E6%89%A7%E8%A1%8C%E6%9F%90%E4%BA%9B%E7%A8%8B%E5%BA%8F.png)
即使以 root 身份,我也无法执行各个文件夹中的某些程序。这些程序具有正确的权限。例如见下图
[root@ODHI01VMA02 bin]# ls -la java*
-rwxr-xr-x 1 root root 56056 May 10 2013 java
-rwxr-xr-x 1 root root 16674 May 10 2013 java_vm
-rwxr-xr-x 1 root root 56056 May 10 2013 javaw
-rwxr-xr-x 1 root root 78842 May 10 2013 javaws
当我执行 java 时,出现以下错误。
[root@ODHI01VMA02 bin]# ./java -version
bash: ./java: Permission denied
[root@ODHI01VMA02 bin]# ldd java
not a dynamic executable
这个不行,
[root@ODHI01VMA02 bin]# file java
java: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.2.5, not stripped
这个确实有效,
# file java
java: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.4.0, not stripped
这不仅仅是上面的程序,我只是用它作为例子。其他驱动器上的其他程序也存在同样的问题。许多其他程序也可以正常运行。
这是在 RedHat 6.7 上。请任何 Linux 高手帮忙。
贾吉
答案1
根据您的输出,问题可能是您尝试在未设置的 64 位计算机上运行 32 位可执行文件。您会注意到,可以运行的版本是 64 位,而不能运行的版本是 32 位。
运行ldd java
您的两个可执行文件。并且请将输出放在您的问题中,而不是评论中。
(这几乎肯定是一个骗局......)