我啓用了java安全性,以授予駐留在/ tmp文件夾中的文件夾的文件權限。 下面是授權文件策略文件中的Java安全授權權限
permission "java.io.FilePermission" "/tmp/tmpScript/-", "read, write, delete, execute";
添加的權限,但在執行應用程序時,拋出異常 -
java.security.AccessControlException: access denied ("java.io.FilePermission" "<<ALL FILES>>" "execute")
我使用的ProcessBuilder執行該腳本,並在構造函數中的ProcessBuilder文件絕對路徑並通過了論點。 但看Java源代碼
public void checkExec(String cmd) {
File f = new File(cmd);
if (f.isAbsolute()) {
checkPermission(new FilePermission(cmd,
SecurityConstants.FILE_EXECUTE_ACTION));
} else {
checkPermission(new FilePermission("<<ALL FILES>>",
SecurityConstants.FILE_EXECUTE_ACTION));
}
}
不知道爲什麼f.isAbsolute()的返回false因此,其努力執行與文件權限的其他部分。如果此抽象路徑名是
我在路徑中添加了前綴「/」,但它仍然返回相同的文件權限問題。 – Anish