永远不要让 Java 对用户可写入

永远不要让 Java 对用户可写入

我使用的是 Ubuntu 12.04,安装了 JDK,有趣的是出现了以下错误。为什么我会出现这个错误,尽管java文件存在?

appuser@securexmlgw-db:~/Downloads/jdk1.7.0_04/bin$ ls
appletviewer  javac         jcontrol    jstack        policytool   tnameserv
apt           javadoc       jdb         jstat         rmic         unpack200
ControlPanel  javah         jhat        jstatd        rmid         wsgen
extcheck      javap         jinfo       jvisualvm     rmiregistry  wsimport
idlj          java-rmi.cgi  jmap        keytool       schemagen    xjc
jar           javaws        jps         native2ascii  serialver
jarsigner     jcmd          jrunscript  orbd          servertool
java          jconsole      jsadebugd   pack200       test
appuser@securexmlgw-db:~/Downloads/jdk1.7.0_04/bin$ ./java -version
-bash: ./java: No such file or directory

我已经给出了所有可行的建议。

-rwxrwxrwx 1  500  500   5809 Apr 12  2012 jarsigner*
-rwxrwxrwx 1  500  500   5654 Apr 12  2012 java*
-rwxrwxrwx 1  500  500   5805 Apr 12  2012 javac*
-rwxrwxrwx 1  500  500   5809 Apr 12  2012 javadoc*

答案1

最有可能的是,您下载了 32 位 JRE,并在没有模拟库的 64 位平台上运行它。只需下载与您的平台相匹配的版本即可。

当内核无法找到可执行文件指定的 ELF 解释器时,它将ENOENT返回。exec

答案2

你有机会不是本国的文件系统,例如 FAT(Windows)文件系统?

如果是,则执行权限为应该无法工作,因为文件系统没有适当的权限支持。这被称为noexec,我建议不是更改它。否则,你就为黑客打开了方便之门。

使用 Ubuntu openjdk-7。它比 Oracle 版本支持得更好:

如果您使用打包版本,则仅会获得自动安全更新。

还有一件事:

永远不要让 Java 对用户可写入

 -rwxrwxrwx 1  500  500   5654 Apr 12  2012 java*

这说明“任何用户都可以修改(=黑客,病毒感染等)您的 java”。不要这样做。尽可能严格地控制写权限。

相关内容