Berechtigungen in der Datei "library.policy"
Die Java™-2-Sicherheit verwendet mehrere Richtliniendateien, um die erteilte Berechtigung für jedes Java-Programm zu bestimmen.
Eine Liste der verfügbaren Richtliniendateien, die von WebSphere Application Server unterstützt werden, finden Sie in der Beschreibung der Richtliniendateien für die Java-2-Sicherheit.
Die Datei library.policy ist eine Schablone für gemeinsam genutzte Bibliotheken (Java-Bibliotheksklassen). Bibliotheken können von mehreren Unternehmensanwendungen gemeinsam definiert und genutzt werden. Im Abschnitt "Gemeinsam genutzte Bibliotheken verwalten" können Sie nachlesen, wie gemeinsam benutzte Bibliotheken definiert und verwaltet werden.
Wenn die Standardberechtigungen für eine gemeinsam genutzte Bibliothek (Verknüpfung der in den Dateien java.policy, app.policy und library.policy definierten Berechtigungen) ausreichen, ist keine Aktion erforderlich. Die Standardrichtlinie für Bibliotheken wird automatisch ausgewählt. Sollte für die gemeinsame Benutzung einer Bibliothek in der Zelle eine bestimmte Änderung erforderlich sein, aktualisieren Sie die Datei library.policy.
Syntaxfehler in den Richtliniendateien verhindern, dass der Anwendungsserver gestartet wird. Gehen Sie beim Editieren dieser Richtliniendateien sehr sorgfältig vor.
Geben Sie zum Extrahieren der Richtliniendatei an einer Eingabeaufforderung den folgenden Befehl mit den für Ihre Umgebung richtigen Variablenwerten ein. Die vorherigen beiden Zeilen wurden nur aus Gründen der besseren Lesbarkeit aufgeteilt.
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
wsadmin> set obj [$AdminConfig extract cells/cell_name/nodes/
node_name/library.policy c:/temp/test/library.policy]
![[IBM i]](../images/iseries.gif)
wsadmin> set obj [$AdminConfig extract cells/cell_name/nodes/
node_name/library.policy /temp/test/library.policy]
![[z/OS]](../images/ngzos.gif)
wsadmin> set obj [$AdminConfig extract cells/cell_name/nodes/
node_name/library.policy /temp/test/library.policy]
Editieren Sie die extrahierte Datei library.policy mit dem Richtlinientool (Policy Tool). Weitere Informationen finden Sie im Artikel Mit PolicyTool Richtliniendateien für die Java-2-Sicherheit verwenden.
Geben Sie zum Überprüfen der Richtliniendatei an einer Eingabeaufforderung den folgenden Befehl mit den für Ihre Umgebung richtigen Variablenwerten ein. Nach dem Neustart der Server wird eine aktualisierte Datei library.policy in den gemeinsam genutzten Bibliotheken installiert.
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
wsadmin> $AdminConfig checkin cells/cell_name/nodes/node_name/library.policy
c:/temp/test/library.policy $obj
wsadmin> $AdminConfig checkin cells/cell_name/nodes/node_name/library.policy
temp/test/library.policy $obj
![[z/OS]](../images/ngzos.gif)
wsadmin> $AdminConfig checkin cells/cell_name/nodes/node_name/library.policy
temp/test/library.policy $obj
Beispiel
Auf die gemeinsam benutzten Bibliotheken wird die Verknüpfung der Berechtigungen in den Dateien java.policy, app.policy und library.policy angewendet. Die Datei library.policy wird von Konfigurations- und Dateireplikationsservices verwaltet.
Änderungen, die in dieser Datei vorgenommen wurden, werden auf anderen Knoten in der Zelle repliziert.
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[z/OS]](../images/ngzos.gif)
grant {
};
![[IBM i]](../images/iseries.gif)
grant {
};
Wenn die gemeinsam benutzte Bibliothek einer Zelle Berechtigungen benötigt, die in den Dateien java.policy, app.policy und library.policy nicht als Standardberechtigungen definiert sind, aktualisieren Sie die Datei library.policy. Die fehlende Berechtigung löst die Ausnahme java.security.AccessControlException aus. Die fehlende Berechtigung ist in den Ausnahmedaten angegeben.
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[Windows]](../images/windows.gif)
java.security.AccessControlException: access denied (java.io.FilePermission
Stammverzeichnis_des_Anwendungsservers/lib/mail-impl.jar read)
Das Beispiel wurde nur aus Gründen der besseren Lesbarkeit auf zwei Zeilen verteilt.
Die Variable Stammverzeichnis_des_Anwendungsservers steht für das Installationsverzeichnis.![[IBM i]](../images/iseries.gif)
java.security.AccessControlException: access denied (java.io.FilePermission
Stammverzeichnis_des_AnwendungsserversBase/lib/mail-impl.jar read)
Das Beispiel wurde nur aus Gründen der besseren Lesbarkeit auf zwei Zeilen verteilt.Wenn ein Java-Programm diese Ausnahme empfängt und das Hinzufügen dieser Berechtigung berechtigt ist, fügen Sie der Datei library.policy eine Berechtigung hinzu.
![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[Windows]](../images/windows.gif)
grant { permission java.io.FilePermission "Stammverzeichnis_des_Anwendungsservers/lib/mail-impl.jar", "read"; };
Das Beispiel wurde nur aus Gründen der besseren Lesbarkeit auf zwei Zeilen verteilt.
Die Variable Stammverzeichnis_des_Anwendungsservers steht für das Installationsverzeichnis.![[IBM i]](../images/iseries.gif)
grant codeBase "file:Installationsposition_des_Benutzerclients" { permission
java.io.FilePermission "Stammverzeichnis_des_AnwendungsserversBase/lib/mail-impl.jar", "read"; };
Das Beispiel wurde nur aus Gründen der besseren Lesbarkeit auf zwei Zeilen verteilt.Um zu entscheiden, ob eine Berechtigung hinzugefügt werden soll, lesen Sie die Informationen im Artikel zu den Zugriffssteuerungsausnahmen für die Java-2-Sicherheit.
Starten Sie alle zugehörigen Java-Prozesse erneut, damit die Änderungen der Datei library.policy in Kraft treten.