Im Lieferumfang enthalten sind Start-Skriptdateien, mit deren Hilfe Sie beim Aufruf dieses Tools den Java Security Manager verwenden können und dabei steuern können, auf welche Teile Ihres Dateisystems dieses Programm lesenden bzw. schreibenden Zugriff hat. Ich empfehle Ihnen, sich die entsprechenden Dokumentationen im Internet durchzulesen. Wenn Ihr Englisch nicht so gut ist, dann finden Sie unter www.gruntz.ch/courses/sem/ss03/JavaSecurityManager.pdf einen recht guten Einstieg in diese Thematik. Wir sprechen hier allerdings nicht über Java-Applets, für die der Security Manager ursprünglich gedacht war, sondern von Java-Anwendungen. Der Java Security Manager ist auch nicht Teil dieser Auslieferung. Er ist bereits in der installierten JVM enthalten. InstallierenInstallieren
Wenn Sie das gelieferte Verzeichnis mit dem Namen farbpalette in Ihr Home-Verzeichnis stellen, dürften eigentlich
keine Veränderungen an der mitgelieferten Datei farbpalette.policy erforderlich sein. Unter Windows XP ist Ihr Home-Verzeichnis:
AusführenAusführenAufrufen können Sie das installierte Farbpaletten-Tool mit Hilfe der Skriptdateien start_sec_windows.cmd (Windows XP) bzw. mit start_sec_linux.sh (Linux). Da ich Ihnen nicht garantieren kann, daß sie sich wirklich meine Version heruntergeladen haben, soll hier kurz zum Vergleichen der Original-Inhalt dieser Dateien wiedergegeben werden. Inhalt von start_sec_windows.cmd (für Windows XP):
@echo off set startDir=%1 if "%startDir%"=="" ( set startDir=. ) set rootDir=%2 if "%rootDir%" == "" ( set rootDir=. ) echo on java -Djava.security.debug -Xmx1024m -Djava.security.manager -Djava.security.policy=.\farbpalette.policy -jar .\farbpalette.jar %startDir% %rootDir% Inhalt von start_sec_linux.sh (für Linux):
#!/bin/bash # $1(erster Parameter): Verzeichnis, welches bei erstem FileChooser-Aufruf angezeigt wird if [ $# -gt 0 ] then startDir=$1 else startDir="." fi # $2(zweiter Parameter): Root-Verzeichnis if [ $# -gt 1 ] then rootDir=$1 else rootDir="." fi java -Xmx1024m -Djava.security.manager -Djava.security.policy=./farbpalette.policy -jar ./farbpalette.jar $startDir $rootDir Sie können in beiden Fällen beim Aufruf dieser Skriptdateien zwei Parameter angegeben. Der erste Parameter ist das Startverzeichnis für den Datei-Browser. Mit dem zweiten Parameter können Sie ein sogenanntes Root-Verzeichnis für den Datei-Browser angeben. In diesem Fall kann der Anwender darüber liegende und parallele Verzeichnisse nicht einsehen. Beachten Sie bitte, daß für den integrierten Datei-Browser "Lücken" im Dateibaum infolge fehlender Berechtigungen ein nicht zu überwindendes Hindernis sind. Wenn Sie keine zusätzlichen Parameter angeben, wird in beiden Fällen der aktuelle Pfad verwendet. Und das heißt, daß Sie ohne Veränderungen in der Datei farbpalette.policy im Verzeichnis farbpalette nur lesen und in tiefer gelegenen Verzeichnissen auch schreiben dürfen. Falls Sie unter Windows das hinter diesem Tool liegende schwarze Fenster stört, dann können Sie eine Verknüpfung auf start_sec_windows.cmd anlegen und in deren Eigenschaften "Ausführen" auf "Minimiert" setzen. Ich würde Ihnen empfehlen, eine solche Verknüpfung erst anzulegen, wenn Sie sicher sind, daß keine weiteren Berechtigungen vergeben werden müssen. Denn in diesem schwarzen Fenster werden ihnen Zugriffsprobleme angezeigt. In der Anfangsphase würde ich Ihnen ohnehin empfehlen, die Skriptdateien start_sec_windows.cmd in der sogenannten Eingabeaufforderung direkt aufzurufen und unter Linux start_sec_linux.sh in einem xterm-Fenster zu starten. Inhalt von farbpalette.policy:
grant codeBase "file:.${file.separator}farbpalette.jar" { permission java.util.PropertyPermission "user.dir", "read"; permission java.io.FilePermission "${user.home}${file.separator}farbpalette", "read"; permission java.io.FilePermission "${user.home}${file.separator}farbpalette${file.separator}-", "read"; permission java.io.FilePermission "${user.home}${file.separator}farbpalette${file.separator}Daten${file.separator}-", "read, write, delete"; }; Falls Sie mit Verknüpfungen arbeiten wollen, benötigen Sie außerdem den Eintrag:
permission "accessClassInPackage.sun.awt.shell";
in farbpalette.policy.
Die Pfad-Angaben innerhalb der Permission java.io.FilePermission sind betriebssystemunabhängig. Wenn Sie wissen, daß Sie dieses Tool nur in einem
Betriebssystem-Typ ausführen, können Sie die Pfadangaben so schreiben, wie Sie es gewöhnt sind, also z.B.
grant codeBase "file:.${file.separator}farbpalette.jar" { permission java.util.PropertyPermission "user.dir", "read"; permission java.io.FilePermission "C:\\Dokumente und Einstellungen\\felix\\Eigene Dateien\\farbpalette", "read"; permission java.io.FilePermission "C:\\Dokumente und Einstellungen\\felix\\Eigene Dateien\\farbpalette\\-", "read"; permission java.io.FilePermission "C:\\Dokumente und Einstellungen\\felix\\Eigene Dateien\\farbpalette\\Daten\\-", "read, write, delete"; }; Die Zeichen "+" und "-" am Ende der Pfad-Angabe haben ebenfalls eine Sonderfunktion. "+" bedeutet, daß allen Dateien dieses Verzeichnisses die jeweilige Berechtigung gegeben wird. Bei der Verwendung von "-" erhält der gesamte Dateibaum unterhalb des angegebenen Verzeichnisses diese Berechtigung.
Mit startfarbpalette.jar können Sie auf sehr einfache Art und Weise ohne die Verwendung des Security Managers und
systemunabhängig dieses Tool starten. Es handelt sich dabei um eine Lösung für sehr unerfahrene Benutzer. Besser
wäre es, wenn Sie dieses Tool auf andere Art und Weise durch Ausführung des Kommandos
Absolute Sicherheit ist aber wohl auch damit nicht zu erreichen, wie diverse Beschreibungen im Internet zu Fehlern
in der Java Sandbox zeigen. Aber Ihre Wohnungstür schließen Sie ja auch sicherheitshalber ab, oder?
Hinweis: |