Foto Foto Foto Foto Foto Foto Foto
Home| Download| RGB-Farben| Security| Kontakt| Impressum

Sicherheits-Hinweise

Sicherheits-Hinweise

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.


Installieren

Installieren

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:
C:\Dokumente und Einstellungen\Benutzername (also nicht "...\Eigene Dateien"!). Sie können dieses Verzeichnis natürlich an jede beliebige Position im Dateisystem stellen. Falls Sie den Security Manager benutzen wollen, müssen Sie in diesem Fall jedoch die Datei farbpalette.policy anpassen. Wie Sie das machen können, wird weiter unten beschrieben.
Die mitgelieferte Datei farbpalette.policy erlaubt im Verzeichnis farbpalette/Daten nur lesenden Zugriff. Schreibender Zugriff ist erst auf der nächst tieferen Ebene möglich. Bitte legen Sie in farbpalette/Daten nach der Installation die zu ihrer Arbeitsweise passenden Unterverzeichnisse an (z.B. Kundenname oder image) und kopieren Sie Fotos, die Sie bearbeiten wollen, in diesen Dateibaum.


Ausführen

Ausführen

Aufrufen 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.
- in Windows "C:\\Dokumente und Einstellungen\\....." und
- in Linux "/home/...".
Das Zeichen "\" hat eine Sonderfunktion und muß deshalb doppelt angegeben werden.
Wenn Sie unter Windows das Verzeichnis farbpalette unter "Eigene Dateien" installiert haben und Ihr Benutzername z.B. felix ist, dann verändern Sie farbpalette.policy wie folgt:

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
java -Xmx1024m -jar .\farbpalette.jar     unter Windows bzw.
java -Xmx1024m -jar ./farbpalette.jar     unter Linux
starten. Ohne den Parameter -Xmx1024m lassen sich sehr große Fotos nicht einlesen. Generell wäre es allerdings besser, wenn Sie ein solches Tool, das Sie sich aus dem Internet herunter geladen haben, mit einem Security Manager aufrufen.

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?
Und noch eine kleine Anmerkung zum Schluß. In einem Java-Programm läßt sich abfragen, ob eine bestimmte Berechtigung vergeben wurde. Sie können sich nicht darauf verlassen, daß ein Programm, das unter dem Security Manager sicher zu sein scheint, nicht doch schädigende Teile enthält. Es ist sehr leicht zu programmieren, daß diese Programmteile nur bei einer Ausführung ohne Security Manager ausgeführt werden.



Hinweis:

Für den Inhalt externer Links wie hier z.B. http://www.gruntz.ch/courses/sem/ss03/JavaSecurityManager.pdf kann keine Haftung übernommen werden.



Home| Download| RGB-Farben| Security| Kontakt| Impressum