Ich habe Postgres auf Ubuntu installiert und es hat mich zum Postgres-Benutzer gemacht. Ich habe psql
eine 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:
postgres
der Systembenutzerpostgres
der SQL-Datenbankbenutzer
Die einzige Beziehung zwischen beiden besteht darin, dass bei der PostgreSQL-Installation dieDatenbankBenutzer postgres
wird authentifiziert mit demPeerAuthentifizierungsmethode: Der Datenbankserver überprüft, ob dieSystemDer Benutzer, der als Datenbankbenutzer Zugriff auf die Datenbank anfordert, postgres
wird 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 postgres
hat 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.postgres
postgres
root
Melden Sie sich einfach erneut bei dem Konto an, das Sie zur Installation von PostgreSQL verwendet haben: entweder direkt bei dem root
Konto (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.