Frage Was ist der Standard-Superuser Benutzername / Passwort für Postgres nach einer Neuinstallation?


Ich habe gerade Postgres 8.4 auf Ubuntu 9.10 installiert und es hat mich nie gefragt, einen Superuser zu erstellen. Gibt es einen Standard-Superuser und sein Passwort? Wenn nicht, wie erstelle ich einen neuen?


347
2018-02-06 04:54


Ursprung


Wahrscheinlich sehr relevant - "Ich installiere PostgreSQL und kenne das Passwort für den Postgres-Benutzer nicht". - Milen A. Radev


Antworten:


VORSICHT Die Antwort über das Ändern des UNIX-Passwortes für "postgres" durch "$ sudo passwd postgres" ist nicht bevorzugt und kann sogar sein GEFÄHRLICH!

Aus diesem Grund ist das UNIX-Konto "postgres" standardmäßig gesperrt, dh es kann nicht mit einem Passwort angemeldet werden. Wenn Sie "sudo passwd postgres" verwenden, wird das Konto sofort entsperrt. Schlimmer noch, wenn Sie das Passwort auf etwas Schwaches setzen, wie "Postgres", dann sind Sie einer großen Sicherheitsgefahr ausgesetzt. Zum Beispiel gibt es eine Reihe von Bots da draußen, die versuchen, die Benutzername / Passwort-Kombination "postgres / postgres" in Ihr UNIX-System einzuloggen.

Was Sie tun sollten, ist folgen Chris JamesAntwort:

sudo -u postgres psql postgres

# \password postgres

Enter new password: 

Um es ein wenig zu erklären. Normalerweise gibt es zwei Möglichkeiten, sich am PostgreSQL-Server anzumelden:

  1. Durch Ausführen des Befehls "psql" als UNIX-Benutzer (sogenannte IDENT / PEER-Authentifizierung), z. B .: sudo -u postgres psql. Beachten Sie, dass sudo -u Entsperrt den UNIX-Benutzer NICHT.

  2. durch TCP / IP-Verbindung unter Verwendung von PostgreSQLs eigenem verwaltetem Benutzernamen / Passwort (sogenannte TCP-Authentifizierung) (d. h. NICHT das UNIX-Passwort).

Also du noch nie möchte das Passwort für UNIX-Account "postgres" einstellen. Lassen Sie es wie standardmäßig gesperrt.

Natürlich können sich Dinge ändern, wenn Sie sie anders als die Standardeinstellung konfigurieren. Zum Beispiel könnte man das PostgreSQL-Passwort mit dem UNIX-Passwort synchronisieren und nur lokale Logins erlauben. Das würde den Rahmen dieser Frage sprengen.


485
2017-10-28 06:25



Wie sperren Sie Benutzerpostgres zurück? - ultrajohn
@ultrajohn - hängt von der Distribution ab, die Sie verwenden, aber Sie können / etc / passwd bearbeiten und * anstelle des Passworts eingeben - lzap
/etc/shadow ist, wo das Passwort @lzap gehalten wird. - Gringo Suave
Richtig, du kannst entweder / sbin / nologin in / etc / passwd setzen oder * anstelle des Passworts in / etc / shadow setzen. - lzap
passwd --lock postgres - Stéphane


Geben Sie in die Befehlszeile ein:

$ sudo -u postgres psql postgres
postgres=# \password postgres

Du wirst sehen:

Enter new password: 
Enter it again:

157
2018-03-16 15:39



Dies ist erforderlich, um ein Tool wie pgadminIII (beim Einrichten eines Serverprofils) sofort nach der Installation von Postgres selbst zu verwenden. Vielen Dank! - limist


Sie manipulieren Postgres über den Benutzer postgresals so:

# su - postgres
$ createdb mydb
$ psql -s mydb
# create user someuser password 'somepassword';
# GRANT ALL PRIVILEGES ON DATABASE mydb TO someuser;

58
2018-02-06 05:02



@ThierryLam Sie müssen root sein su an den postgres-Benutzer ohne Eingabe eines Passwortes. Auf den meisten Systemen ist das Postgres Unix-Konto gesperrt (kein Passwort funktioniert) nur Wurzel kann su zu diesem Konto. - voretaq7
Benutzen sudo anstatt su. - reinierpost
Ich musste rennen sudo su - postgres : \ - Jim Schubert
@Jim Schubert: Du kannst auch rennen sudo -u postgres. - reinierpost
sudo -u postgres psql - funktioniert auch so, dass Sie es in einem Schritt tun können. - Ominus


Führen Sie unter Windows Folgendes aus (WICHTIG: Verwenden Sie ein Windows-Programm Administrator Konto):

  1. Nach der Installation öffnen <PostgreSQL PATH>\data\pg_hba.conf.

  2. Ändern Sie diese beiden Zeilen und ändern Sie "md5" in "trust":

    host all all 127.0.0.1/32 md5

    host all all ::1/128 md5

  3. Starten Sie den PostgreSQL-Dienst neu (ist möglicherweise nicht erforderlich).

  4. (Optional) Öffnen Sie eine Eingabeaufforderung und ändern Sie die Codepage in 1252:

    cmd.exe /c chcp 1252

  5. Loggen Sie sich in PostgreSQL ein. Es wird kein Passwort benötigt (beachten Sie den Großbuchstaben -U-Parameter):

    psql -U postgres

  6. (Optional, aus Sicherheitsgründen empfohlen) Ändern Sie die postgres Benutzerpasswort:

    \password postgres

    und ändern Sie "Vertrauen" zurück zu "md5" in pg_hba.conf.


20
2017-11-18 19:25





Wenn Sie versuchen, auf die PostgreSQL-Shell zuzugreifen, können Sie Folgendes eingeben:

psql -U postgres my_database

Woher my_database ist Ihr Datenbankname.


5
2018-03-07 13:44