04. Aug 2011 0

Passwort für Benutzer postgres ändern

 
Kategorie Linux

Nachdem man sich das relationale Datenbankmanagementsystem PostgreSQL installiert hat, folgt die Hürde, sich mit einer Datenbank zu verbinden. Ein Systembenutzer postgres wird während der Installation angelegt, jedoch wird man nicht aufgefordert, ein Passwort zu vergeben. Zum Glück gibt es immer den Weg über root, um die Identität eines anderen Users anzunehmen:

$ sudo su postgres

Nun kann man die PostgreSQL Shell mit der Systemdatenbank öffnen und dort das Passwort des Master-Benutzers über ein SQL-Statement ändern:

$ psql -d postgres
postgres=# ALTER USER postgres WITH PASSWORD 'geheim';
postgres=# \q

 

Ein alternativer Weg ist die temporäre Änderung des Sicherheitsmodus für lokale Verbindungen. Dazu wird die Konfigurationsdatei von PostgreSQL für die Authentifizierungseinstellungen bearbeitet:

sudo gedit /etc/postgresql/8.4/main/pg_hba.conf

Hier findet man die Zeile

local    all    postgres    ident

welche aussagt, dass man sich mit einer lokalen Verbindung mit allen Datenbanken als Benutzer postgres authentifizieren muss. Ändert man ident auf trust, so darf man sich auch ohne Eingabe eines Passwortes für den Benutzer postgres mit allen Datenbanken verbinden. Jedoch sollte man nach Änderungen an der Konfiguration den Server neu starten:

$ sudo /etc/init.d/postgresql-8.4 restart

Jetzt kann man z.B. mit pgAdmin3 das Passwort für den Benutzer postgres ändern. Im Anschluss sollte man den Sicherheitslevel von trust wieder auf ident zurücksetzen.

 

Kommentar verfassen

Die E-Mail-Adresse wird nicht veröffentlicht.
Erforderliche Felder sind mit * markiert.


*

Folgende HTML-Tags dürfen verwendet werden: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>