Von Postgres aus kann nicht zum Root-Zugriff zurückgekehrt werden: Es wird die Eingabe eines ungültigen Postgres-Passworts erzwungen

Von Postgres aus kann nicht zum Root-Zugriff zurückgekehrt werden: Es wird die Eingabe eines ungültigen Postgres-Passworts erzwungen

Ich habe Postgres auf Ubuntu installiert und es hat mich zum Postgres-Benutzer gemacht. Ich habe psqleine Datenbank erstellt und mich dann entschieden, wieder zum Root-Benutzer zu wechseln. Es erlaubt mir jedoch nicht:

sudo su - 

führt dazu, dass ich gefragt werde

[sudo] password for postgres:

die ich eingeben wollte, aber ich bekam

Sorry, try again

Dann beschloss ich, das Postgres-Passwort zu ändern mitdiese Antwort:

ALTER USER postgres WITH PASSWORD 'postgres';

Es schien funktioniert zu haben, aber nachdem ich erneut versucht hatte, zu Root zu wechseln, ließ es mich immer noch nicht.

Antwort1

Es scheint, als ob Sie zwei Dinge verwechseln:

  • postgresder Systembenutzer
  • postgresder SQL-Datenbankbenutzer

Die einzige Beziehung zwischen beiden besteht darin, dass bei der PostgreSQL-Installation dieDatenbankBenutzer postgreswird authentifiziert mit demPeerAuthentifizierungsmethode: Der Datenbankserver überprüft, ob dieSystemDer Benutzer, der als Datenbankbenutzer Zugriff auf die Datenbank anfordert, postgreswird auch genannt postgres. Außerdem wird der Datenbankserver selbst als Systembenutzer ausgeführt postgres.

Es ist nicht möglich, das System von der Datenbank aus zu verändern. Die Vergabe eines Passworts für das Datenbankkonto ändert nichts daran, dass dieSystemBenutzer postgreshat keinesudoRechte und auf jeden Fall ein deaktiviertes Passwort, sodass standardmäßig nur root darauf zugreifen kann (aber nicht umgekehrt).

Wenn Sie also Zugriff haben möchten , ist dies nicht über das Systemkonto möglich. Und das ist auch gut so: Sollte jemals der Datenbankserver (dessen Prozesse ebenfalls als Systembenutzer ausgeführt werden root) kompromittiert werden, gibt es von dort aus keine Möglichkeit, den Zugriff zu eskalieren.postgrespostgresroot

Melden Sie sich einfach erneut bei dem Konto an, das Sie zur Installation von PostgreSQL verwendet haben: entweder direkt bei dem rootKonto (wird unter Ubuntu normalerweise nicht gemacht) oder (wird unter Ubuntu normalerweise gemacht) bei dem bei der Installation des Systems konfigurierten Benutzer mit der UID 1000, was unter Ubuntu standardmäßig erlaubt ist sudo su -.

Antwort2

Wenn Sie den Postgres-Benutzer beenden möchten, geben Sie einfach „exit“ ein.

Es wird an den Root-Benutzer zurückgegeben.

verwandte Informationen