Berechtigungen der Datei "server.policy"
Die Java™-2-Sicherheit verwendet mehrere Richtliniendateien, um die erteilte Berechtigung für jedes Java-Programm zu bestimmen.
Die Beschreibung der Richtliniendateien für die Java-2-Sicherheit enthält eine Liste der verfügbaren Richtliniendateien, die von WebSphere Application Server unterstützt werden.
Die Datei server.policy ist eine Standardrichtliniendatei, die von allen WebSphere Application Server-Instanzen auf einem Knoten gemeinsam genutzt wird. Die Datei server.policy ist keine Konfigurationsdatei, die vom Repository und vom Dateireplikationsservice verwaltet wird. Änderungen an dieser Datei sind lokal und werden nicht auf der anderen Maschine repliziert.
Wenn die Standardberechtigungen für Unternehmensanwendungen (die Verknüpfung der in den Dateien java.policy und server.policy definierten Berechtigungen) ausreichen, ist keine Aktion erforderlich. Die Standardserverrichtlinie wird automatisch übernommen. Falls für alle Unternehmensanwendungen der Zelle eine bestimmte Änderung erforderlich ist, aktualisieren Sie die Datei server.policy mit dem Richtlinientool. Weitere Informationen zum Bearbeiten von Richtliniendateien finden Sie im Artikel Mit PolicyTool Richtliniendateien für die Java-2-Sicherheit verwenden. Änderungen an der Datei app.policy sind lokal für den Knoten. Syntaxfehler in den Richtliniendateien verhindern, dass der Anwendungsserver gestartet wird. Gehen Sie beim Bearbeiten dieser Richtliniendateien vorsichtig vor. Eine aktualisierte server.policy-Datei wird auf alle Serverprogramme auf dem lokalen Knoten angewendet. Starten Sie die Server erneut, damit die Änderungen wirksam werden.
Wenn Sie Änderungen an der Datei server.policy vornehmen müssen, verwenden Sie die Datei im folgenden Verzeichnis: Profilstammverzeichnis/properties/server.policy. Diese Datei enthält die folgenden Standardberechtigungen:
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
// Verwendung von Sun-Tools erlauben
grant codeBase "file:${java.home}/../lib/tools.jar" {
permission java.security.AllPermission;
};
// WebSphere-Systemklassen
grant codeBase "file:${was.install.root}/plugins/-" {
permission java.security.AllPermission;
};
grant codeBase "file:${was.install.root}/lib/-" {
permission java.security.AllPermission;
};
grant codeBase "file:${was.install.root}/classes/-" {
permission java.security.AllPermission;
};
// Dem WebSphere-Tool deploytool alle Berechtigungen erteilen
grant codeBase "file:${was.install.root}/deploytool/-" {
permission java.security.AllPermission;
};
// Den Channel Framework-Klassen alle Berechtigungen erteilen
grant codeBase "file:${was.install.root}/installedChannels/-" {
permission java.security.AllPermission;
};
// optionale WebSphere-Laufzeitklassen
grant codeBase "file:${was.install.root}/optionalLibraries/-" {
permission java.security.AllPermission;
};
![[IBM i]](../images/iseries.gif)
// Verwendung von Sun-Tools erlauben
grant codeBase "file:${java.home}/../lib/tools.jar" {
permission java.security.AllPermission;
};
// Verwendung der IBM JDK-Erweiterungen zulassen
grant codeBase "file:${was.install.root}/java/ext/-" {
permission java.security.AllPermission;
};
// Verwendung zusätzlicher IBM JDK-Erweiterungen mit j9 zulassen
grant codeBase "file:${was.install.root}/java/extj9/-" {
permission java.security.AllPermission;
};
// Verwendung von Sun-Tools und IBM Tools erlauben
grant codeBase "file:${was.install.root}/java/tools/-" {
permission java.security.AllPermission;
};
// WebSphere-Systemklassen
grant codeBase "file:${was.install.root}/plugins/-" {
permission java.security.AllPermission;
};
grant codeBase "file:${was.install.root}/lib/-" {
permission java.security.AllPermission;
};
grant codeBase "file:${was.install.root}/classes/-" {
permission java.security.AllPermission;
};
// Dem WebSphere-Tool deploytool alle Berechtigungen erteilen
grant codeBase "file:${was.install.root}/deploytool/-" {
permission java.security.AllPermission;
};
// Dem WebSphere-Tool deploytool alle Berechtigungen erteilen
grant codeBase "file:${was.install.root}/optionalLibraries/-" {
permission java.security.AllPermission;
};
// Den Channel Framework-Klassen alle Berechtigungen erteilen
grant codeBase "file:${was.install.root}/installedChannels/-" {
permission java.security.AllPermission;
};
grant codeBase "file:${was.install.root}/util/-" {
permission java.security.AllPermission;
};
grant codeBase "file:${user.install.root}/lib/-" {
permission java.security.AllPermission;
};
grant codeBase "file:${user.install.root}/classes/-" {
permission java.security.AllPermission;
};
![[z/OS]](../images/ngzos.gif)
// Verwendung von Sun-Tools erlauben
grant codeBase "file:${java.home}/lib/tools.jar" {
permission java.security.AllPermission;
};
// Dem WebSphere-Tool deploytool alle Berechtigungen erteilen
grant codeBase "file:${was.install.root}/deploytool/-" {
permission java.security.AllPermission;
};
grant codeBase "file:${was.install.root}/plugins/-" {
permission java.security.AllPermission;
};
grant codeBase "file:${was.install.root}/classes/-" {
permission java.security.AllPermission;
};
grant codeBase "file:${was.install.root}/lib/-" {
permission java.security.AllPermission;
};
grant codeBase "file:${smpe.install.root}/lib/-" {
permission java.security.AllPermission;
};
grant codeBase "file:${smpe.install.root}/-" {
permission java.security.AllPermission;
};
// Verwendung von TAM erlauben
grant codeBase "file:${was.install.root}/tivoli/tam/PD.jar" {
permission java.security.AllPermission;
};
Sollten einige Serverprogramme auf einem Knoten Berechtigungen benötigen, die in der Datei server.policy nicht als Standards definiert sind, muss diese Datei aktualisiert werden. Die fehlende Berechtigung erzeugt die Ausnahme "java.security.AccessControlException". Die fehlende Berechtigung ist in den Ausnahmedaten aufgelistet.
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[z/OS]](../images/ngzos.gif)
java.security.AccessControlException: access denied (java.io.FilePermission
C:\WebSphere\AppServer\java\jre\lib\ext\mail-impl.jar read)
![[IBM i]](../images/iseries.gif)
java.security.AccessControlException: access denied (java.io.FilePermission
Stammverzeichnis_des_AnwendungsserversBase/lib/mail-impl.jar read)
Die vorherigen beiden Zeilen werden hier nur aus Gründen der Lesbarkeit in zwei Zeilen dargestellt.
Wenn ein Java-Programm diese Ausnahme empfängt und das Hinzufügen dieser Berechtigung gerechtfertigt ist, fügen Sie der Datei server.policy eine Berechtigung hinzu.
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[z/OS]](../images/ngzos.gif)
grant codeBase "file:user_client_installed_location" {
permission java.io.FilePermission
"C:\WebSphere\AppServer\java\jre\lib\ext\mail.jar", "read"; };
![[IBM i]](../images/iseries.gif)
grant codeBase "file:user_client_installed_location" {
permission java.io.FilePermission
"Stammverzeichnis_des_Anwendungsservers/Base/lib/mail-impl.jar", "read"; };
Um zu entscheiden, ob eine Berechtigung hinzugefügt werden soll, lesen Sie die Informationen im Artikel "Zugriffssteuerungsausnahme für Java-2-Sicherheit".
Starten Sie alle Java-Prozesse erneut, damit die aktualisierte Datei server.policy wirksam wird.