Vraag Wat is de standaardgebruikers gebruikersnaam / wachtwoord voor postgres na een nieuwe installatie?


Ik heb net postgres 8.4 op Ubuntu 9.10 geïnstalleerd en het heeft me nooit gevraagd om een ​​superuser te maken. Bestaat er een standaard superuser en zijn wachtwoord? Zo nee, hoe maak ik een nieuwe aan?


347
2018-02-06 04:54


oorsprong


Waarschijnlijk erg relevant - "Ik installeer PostgreSQL en ken het wachtwoord voor de gebruiker van postgres niet". - Milen A. Radev


antwoorden:


VOORZICHTIGHEID Het antwoord over het wijzigen van het UNIX-wachtwoord voor "postgres" tot "$ sudo passwd postgres" heeft niet de voorkeur en kan zelfs GEVAARLIJK!

Dit is waarom: Standaard is het UNIX-account "postgres" vergrendeld, wat betekent dat het niet kan worden ingelogd met een wachtwoord. Als u "sudo passwd postgres" gebruikt, wordt het account onmiddellijk ontgrendeld. Erger nog, als je het wachtwoord instelt op iets zwakkere, zoals "postgres", dan word je blootgesteld aan een groot veiligheidsrisico. Er zijn bijvoorbeeld een aantal bots die proberen de gebruikersnaam / wachtwoord-combinatie "postgres / postgres" in te loggen op uw UNIX-systeem.

Wat je moet doen, is volgen Chris James's antwoord:

sudo -u postgres psql postgres

# \password postgres

Enter new password: 

Om het een beetje uit te leggen. Er zijn meestal twee standaardmanieren om in te loggen op de PostgreSQL-server:

  1. Door de opdracht "psql" uit te voeren als een UNIX-gebruiker (de zogenaamde IDENT / PEER-authenticatie), bijvoorbeeld: sudo -u postgres psql. Let daar op sudo -u ontgrendelt de UNIX-gebruiker NIET.

  2. via TCP / IP-verbinding met behulp van PostgreSQL's eigen beheerde gebruikersnaam / wachtwoord (de zogenaamde TCP-authenticatie) (d.w.z. NIET het UNIX-wachtwoord).

Dus jij nooit wil het wachtwoord voor "postgres" van UNIX-account instellen. Laat het standaard vergrendeld zoals het is.

Natuurlijk kunnen dingen veranderen als u het anders configureert dan de standaardinstelling. U kunt bijvoorbeeld het PostgreSQL-wachtwoord synchroniseren met het UNIX-wachtwoord en lokale logins alleen toestaan. Dat zou buiten het bestek van deze vraag vallen.


485
2017-10-28 06:25



ja, hoe sluit u gebruikers postgres terug? - ultrajohn
@ultrajohn - hangt af van de distributie die je gebruikt, maar je kunt / etc / passwd bewerken en zet * in plaats van het wachtwoord - lzap
/etc/shadow is waar het wachtwoord @lzap wordt bewaard. - Gringo Suave
Juist, je kunt / sbin / nologin in / etc / passwd zetten of * in plaats van het wachtwoord in / etc / shadow zetten. - lzap
passwd - postgres vergrendelen - Stéphane


Voer in op de opdrachtregel:

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

Je zult het zien:

Enter new password: 
Enter it again:

157
2018-03-16 15:39



Dit is wat nodig is om een ​​hulpmiddel zoals pgadminIII (bij het opzetten van een serverprofiel) te gebruiken onmiddellijk nadat PostGres zelf is geïnstalleerd. Bedankt! - limist


Je manipuleert postgres via de gebruiker postgres, zoals zo:

# 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 Je moet root zijn su naar de gebruiker van postgres zonder een wachtwoord in te voeren. Op de meeste systemen is het Postgres Unix-account vergrendeld (geen wachtwoord werkt), wat betekent enkel en alleen root mag su naar dat account. - voretaq7
Gebruik sudo in plaats van su. - reinierpost
Ik moest vluchten sudo su - postgres : \ - Jim Schubert
@Jim Schubert: je kunt ook rennen sudo -u postgres. - reinierpost
sudo -u postgres psql - werkt ook zodat u het in één stap kunt doen. - Ominus


In Windows doet u het volgende (BELANGRIJK: gebruik een Windows beheerder account):

  1. Na de installatie, open <PostgreSQL PATH>\data\pg_hba.conf.

  2. Wijzig deze twee regels en wijzig "md5" in "trust":

    host all all 127.0.0.1/32 md5

    host all all ::1/128 md5

  3. Start de PostgreSQL-service opnieuw (misschien niet nodig).

  4. (Optioneel) Open een opdrachtprompt en wijzig de codepagina in 1252:

    cmd.exe /c chcp 1252

  5. Log in op PostgreSQL. Er is geen wachtwoord vereist (let op de parameter -U in hoofdletters):

    psql -U postgres

  6. (Optioneel, aanbevolen om veiligheidsredenen) Wijzig het postgres gebruikers wachtwoord:

    \password postgres

    en verander "vertrouwen" terug naar "md5" in pg_hba.conf.


20
2017-11-18 19:25





Als u probeert toegang te krijgen tot de PostgreSQL-shell, typt u:

psql -U postgres my_database

Waar my_database is de naam van uw database.


5
2018-03-07 13:44