pg_hba.conf anpassen

Die Verbindung zu einem PostgreSQL-Server kann entweder über ein lokales Unix-Domain Socket oder eine TCP/IP-Verbindung erfolgen. Welche Gruppen/Benutzer sich wie verbinden und authentifizieren dürfen, wird in der pg_hba.conf hinterlegt.
Die Datei pg_hba.conf wird in der Regel im data-Verzeichnis des jeweiligen Clusters gespeichert. Häufig wird das Verzeichnis /usr/local/pgsql/data oder /var/lib/pgsql/data verwendet. Bei Debian GNU/Linux befindet sich die pg_hba.conf im Verzeichnis /etc/postgresql/$VERSION/$CLUSTER (zum Beispiel: /etc/postgresql/8.4/main).

Wie die pg_hba.conf strukturiert ist, wird unter anderem in Client Authentication beschrieben, und etwas detailierter in pg_hba.conf.

Für TCP/IP-Verbindungen

Wenn Sie über eine TCP/IP-Verbindung mit dem PostgreSQL-Server kommunizieren wollen, fügen Sie eine Zeile wie die folgende In Ihre pg_hba.conf ein. Das Beispiel zeigt die Konfiguration für eine lokale Verbindung. Sollte der PostgreSQL-Server auf einem anderen Server laufen, muss natürlich eine andere CIDR-Adresse angegeben werden.

# IPv4 local connections:
host    mailsys     +mailsys    127.0.0.1/32          md5

Für Unix-Socket Verbindungen

Wenn Sie PostgreSQLs lokales Unix Domain Socket für Datenbankverbindungen verwenden wollen, erweitern sie Ihre pg_hba.conf-Datei um eine Zeile wie die zweite im folgenden Beispiel.

# "local" is for Unix domain socket connections only
local   mailsys     +mailsys                    md5
local   all         all                         ident sameuser

Sollte der PostgreSQL-Server bereits gestartet sein, senden Sie dem postmaster-Prozess das SIGHUP-Signal, damit die Änderung wirksam wird. Alternativ können Sie dazu auch das Kommando pg_ctl reload verwenden. Viele Linux Distributionen stellen auch ein init-Skript, das für diese Aufgabe geeignet ist, zur Verfügung:
/etc/init.d/postgresql [reload | force-reload]

Datenbank-Nutzer/DB anlegen

Sie sollten ein paar neue Datenbank-Nutzer für vmm, Dovecot und Postfix sowie deren Gruppe anlegen, diese bekommen individuelle Berechtigungen zugewiesen. Abschließend wird noch eine neue Datenbank erstellt.

Starten Sie psql und verbinden Sie sich mit der Datenbank template1:

psql template1

Legen Sie dann die Benutzer, deren Gruppe sowie die leere Datenbank an:

   1 CREATE USER vmm ENCRYPTED PASSWORD 'Passwort für vmm';
   2 CREATE USER dovecot ENCRYPTED PASSWORD 'Passwort für dovecot';
   3 CREATE USER postfix ENCRYPTED PASSWORD 'Passwort für postfix';
   4 CREATE ROLE mailsys WITH USER vmm, dovecot, postfix;
   5 CREATE DATABASE mailsys WITH OWNER vmm ENCODING 'UTF8';
   6 \q

Tabellen erzeugen und Dovecot und Postfix berechtigen

Starten Sie jetzt psql und verbinden Sie sich als Ihr vmm-Benutzer zur Datenbank mailsys:

psql mailsys vmm -W -h 127.0.0.1

Im interaktiven PostgreSQL-Terminal führen Sie folgende Kommandos/interne Kommandos aus:

   1 -- Für Dovecot v1.0.x/v1.1.x
   2 \i /pfad/zu/vmm-0.5.2/create_tables.pgsql
   3 -- Für Dovecot v1.2.x
   4 \i /pfad/zu/vmm-0.5.2/create_tables-dovecot-1.2.x.pgsql
   5 -- Für Dovecot v1.0.x/v1.1.x/v1.2.x
   6 GRANT SELECT ON dovecot_password, dovecot_user TO dovecot;
   7 GRANT SELECT ON postfix_alias, postfix_gid, postfix_maildir, postfix_relocated, postfix_transport, postfix_uid TO postfix;
   8 \q


VMM_Herunterladen

base_dirErstellen


KategorieInstallation

DeVMMWiki: PostgreSQLVorbereiten (last edited 2010-01-04 19:59:35 by PascalVolk)

SourceForge.net Logo