Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java/Tomcat没有足够的权限执行';java';_Java_Ubuntu_Tomcat_Servlets_Permissions - Fatal编程技术网

Java/Tomcat没有足够的权限执行';java';

Java/Tomcat没有足够的权限执行';java';,java,ubuntu,tomcat,servlets,permissions,Java,Ubuntu,Tomcat,Servlets,Permissions,我在Ubuntu上的Tomcat服务器上的一个Java servlet中运行了以下代码: ProcessBuilder pb = new ProcessBuilder( "java", "-jar", "test.jar", Integer.toString( jobId ), Integer.toString( software ), Integer.toString( entryPoint ), application ); pb.directory( new File( "/home/us

我在Ubuntu上的Tomcat服务器上的一个Java servlet中运行了以下代码:

ProcessBuilder pb = new ProcessBuilder( "java", "-jar", "test.jar", Integer.toString( jobId ), Integer.toString( software ), Integer.toString( entryPoint ), application );
pb.directory( new File( "/home/user/Folder" ) );
proc = pb.start();
但在第三行我得到了这个错误:

java.io.IOException: Cannot run program "java" (in directory "/home/user/Folder"): error=13, Keine Berechtigung
它是德语,意思是它没有足够的权限执行“java”


有人知道如何修复吗?

这意味着启动tomcat服务器的用户没有在/home/user/Folder中启动java进程的权限

检查运行tomcat的用户:

ps aux | grep tomcat
更改/home/user/文件夹的所有者,使其归运行tomcat的用户所有,或者相应地调整文件权限

要更改目录的所有者,请执行以下操作:

chown -R tomcat /home/user/Folder
chmod -R o+rwx /home/user/Folder
要添加权限(以便tomcat可以访问该文件夹),请执行以下操作:

chown -R tomcat /home/user/Folder
chmod -R o+rwx /home/user/Folder

注意您只需要选择一种方法,而不是两种方法。

可能的原因:从您的另一个问题来看,您使用的是Linux机器,因此(除了标准Unix安全性之外)也可以使用,这允许指定进一步的限制。很有可能,tomcat(甚至java本身)受到限制,无法启动其他进程(要么全部启动,要么从指定列表启动)。

我认为是同一个用户同时运行这两个进程。如果我运行您给我的命令,我在哪里可以看到tomcat从哪个用户运行?这是我的输出,这是否意味着它是一个名为tomcat7的用户我不知道这个存在。是的,那是tomcat用户。如果您通过软件包管理器安装了tomcat,那么您也会得到一个tomcat用户。在执行“ls-l”时,我得到了以下信息:
drwxr xrwx 5 tomcat7 raphael 4096 Jun 30 18:25 FolderName
可能更多的问题是没有运行“java”的权限,我没有丢失在文件夹中执行jar的权限,而是没有安装selinux。至少如果我调用
getenforce
我会收到一条消息,安装selinux utils。