D
deamon
Gast
Hallo,
ich will per Java Security Manager einem Java-Programm bestimmte Aktionen verbieten (bzw. nicht erlauben). Meine Annahme war, dass alles, was in der Policy-Datei nicht erlaubt ist, verboten ist.
Zum Test habe ich ein Programm geschrieben, dass mit System.exit(0) die JVM beendet. In der Policy-Datei ist nichts erlaubt, sprich im "grant"-Abschnitt wird keine "permission" gewährt. Trotzdem kann sich das Programm ohne Exception beenden.
Die Policy-Datei:
Das Java-Programm
Aufruf auf der Konsole:
Soweit ich verstanden habe, ersetzt die Policy die anderen Policies. Oder kommen dadurch nur Rechte hinzu? Wenn ja, wie entzieht man dann Rechte?
ich will per Java Security Manager einem Java-Programm bestimmte Aktionen verbieten (bzw. nicht erlauben). Meine Annahme war, dass alles, was in der Policy-Datei nicht erlaubt ist, verboten ist.
Zum Test habe ich ein Programm geschrieben, dass mit System.exit(0) die JVM beendet. In der Policy-Datei ist nichts erlaubt, sprich im "grant"-Abschnitt wird keine "permission" gewährt. Trotzdem kann sich das Programm ohne Exception beenden.
Die Policy-Datei:
Code:
grant{
//permission java.lang.RuntimePermission "exitVM"; // genau dieses Recht müsste man entziehen
};
Das Java-Programm
Code:
public class Ende{
public static void main(String[] args){
System.out.println("gleich ist Schluss");
System.exit(0);
}
}
Aufruf auf der Konsole:
Code:
java -Djava.security.manager -Djava.security.policy=mypolicy Ende