PostgreSQL

<< Click to Display Table of Contents >>

Navigation:  Notenmanager Schulversion > Technische Informationen >

PostgreSQL

 

Die Benutzerverwaltung eines Datenbankservers funktioniert ähnlich der eines Netzwerkservers. Um sich am Server anmelden zu können benötigt man ein Benutzerkonto ('Rolle' genannt) mit einem Benutzernamen und ein Benutzerpasswort. Nur wenn der Benutzername bekannt und das Passwort richtig ist kann man sich am Server anmelden und mit den Datenbanken arbeiten.

Um zu regeln, welcher Benutzer bestimmte Datenbankobjekte (Datenbanken, Tabellen, Abfragen, ...) nutzen kann, gibt es datenbankintern eine Rechteverwaltung.

Zusätzlich kennt PostgreSQL noch einen Mechanismus, der die Sicherheit schon während des Anmeldeprozesses erhöht. In der Konfigurationsdatei pg_hba.conf wird in zeilenweisen Einträgen festgelegt, ob sich ein Benutzer an einer bestimmten Datenbank anmelden darf und aus welchem Netzwerk heraus (bzw. mit welchem Rechner) diese Anmeldung erfolgen kann.

Ein Eintrag in die Datei enthält folgende Informationen hinter dem Schlüsselwort "host" (es gibt noch weitere Schlüsselwörter, Details finden Sie in der Online-Dokumentation von Postgres):

Datenbankname: der Name einer Datenbank, die in Postgres angelegt wurde. Ersatzweise "all", wenn der Eintrag sich auf alle Datenbanken beziehen soll.

Benutzername: der Name eines Benutzers, der in Postgres angelegt wurde. Ersatzweise "all", wenn der Eintrag sich auch alle Benuzter beziehen soll.

IP-Adresse: hier steht entweder die Adresse eines einzelnen Rechners (z. B. 127.0.0.1/32 oder ersatzweise "localhost") oder eines Netzwerkes (z. B. 192.168.123.0/24). Der Eintrag bezieht sich dann auf genau diesen Rechner bzw. auf alle Rechner des besagten Netzwerkes.

Authentifizierungsmethode: Hier wird festgelegt, ob bzw. wie sich ein Benutzer anmelden kann. Mögliche Werte wären "trust" (man kann sich ohne Benutzername und Passwort anmelden), "password" (man muss ein Passwort angeben, dieses wird nicht verschlüsselt übertragen) oder "md5" (Benutzeranmeldung mit verschlüsseltem Passwort). Aus Sicherheitsgründen sollte man hier immer "md5" angeben.

Will sich ein Benutzer an Postgres anmelden wird die Liste der Einträge von oben nach unten durchgearbeitet bis für den Benutzer ein zutreffender Eintrag gefunden wurde. Dieser wird dann auch angewendet, alle folgenden Einträge ignoriert.  

Für die Kommunikation zwischen Notenmanager und Postgres müssen Sie zwei Einträge in der Datei mit einem Text-Editor ergänzen:

host   datenbankname    benutzername    ip-adresse      authentifizierungsmethode

host      all               all        192.168.1.0/24         md5

host    bsnm4711          nmsv4711     192.168.1.0/24         md5

 

Ersetzen Sie bitte jeweils "4711" mit Ihrer eigenen Schulnummer und "192.168.1.0" mit der IP-Adresse Ihres Netzwerkes.

Der erste Eintrag wird nur während der Installation mit PGSetup benötigt. Er stellt sicher, dass jeder Benutzer von jedem Rechner in Ihrem lokalen Netz sich an jede Datenbank auf dem Server mit Hilfe des Benutzernamens und seines Passworts anmelden kann. Nach der Installation sollten Sie diesen Eintrag wieder löschen oder mit "#" zumindest auskommentieren.

Der zweite Eintrag bleibt dauerhaft erhalten. Er legt fest, dass sich der Benutzer "nmsv4711" (wird später von der Schulversion verwendet und während der Installation angelegt) von jedem Rechner im Netzwerk 192.168.1.0/24 an der Datenbank "bsnm4711" anmelden kann.