Java应用程序权限
问题描述:
java应用程序权限是否为已创建的进程扩展?即如果应用程序没有创建文件的权限,并且正在从此应用程序运行someprogram.exe,那么它是否也受到限制?Java应用程序权限
如果没有,那我该如何限制创建的进程?我想要做的另一件事是限制子进程使用的内存。请帮忙
答
对我而言,这并不是绝对清楚的,你说的是什么样的权限。
Java安全设置为,每个应用程序限制。它们影响在一个Java虚拟机内运行的Java代码。如果您调用可执行文件,那么该可执行文件将不会继承这些权限。
其他权限为每个用户权限。因此,如果没有在某个文件夹中创建文件的权限,那么您启动的Java应用程序将不具有该权限,并且从java vm启动的任何可执行文件也将不具有权限。
答
您可以限制子进程的内存就像任何普通的Java应用程序,为前:
java -Xmx16m -XX:MaxPermSize=128m
在另一方面,我相信的权限相同启动应用程序的用户,只需像任何* nix行为一样。当你产生新的进程时,你可能会改变用户开始进程,但取决于实现。
我没有参考,所以我可能是错的,但我不明白为什么这种行为在任何桌面应用程序中都会有所不同。
谢谢!如果有人感兴趣,我发现有用的这个线程http://stackoverflow.com/questions/1409852/invoking-an-external-process-with-a-different-user-in-java。但是不太清楚MaxPermSize选项如何帮助我限制子进程的内存 – Irakli