Peer-Authentifizierung für Benutzer mit allen Berechtigungen in Postgres 9.5 fehlgeschlagen

Peer-Authentifizierung für Benutzer mit allen Berechtigungen in Postgres 9.5 fehlgeschlagen

Ich möchte einen Benutzer anlegen, der nur auf eine bestimmte Datenbank zugreifen kann. Er sollte jedoch alle Berechtigungen haben. Ich verwende Postgresql 9.5 unter Ubuntu 14.04. Also erstelle ich zunächst einen neuen Benutzer:

$createuser --interactive joe
  Shall the new role be a superuser? (y/n) n
  Shall the new role be allowed to create databases? (y/n) n
  Shall the new role be allowed to create more new roles? (y/n) n

Als nächstes erstelle ich eine neue Datenbank mit dem Eigentümer Joe:

 $sudo -u postgres psql 
 $CREATE DATABASE myDB OWNER joe;
 $GRANT ALL ON DATABASE myDB TO joe;

Danach versuche ich, mit dem Benutzer joe eine Verbindung zu meiner Datenbank myDB herzustellen:

$psql myDB -U joe
psql: FATAL:  Peer authentication failed for user "joe" 

Was muss ich als nächstes tun?

Antwort1

  1. /etc/postgresql/9.5/main/pg_hba.confMit Root-Zugriff öffnen

     sudo nano /etc/postgresql/9.5/main/pg_hba.conf
    
  2. Ändern Sie in diesen Zeilen in „ peerzu md5“.

    Vor dem Ändern

    # "local" is for Unix domain socket connections only
    local   all             all                                     peer
    # IPv4 local connections:
    host    all             all             127.0.0.1/32            peer
    # IPv6 local connections:
    host    all             all             ::1/128                 peer
    

    Nach Ihrer Änderung

    # "local" is for Unix domain socket connections only
    local   all             all                                     md5
    # IPv4 local connections:
    host    all             all             127.0.0.1/32            md5
    # IPv6 local connections:
    host    all             all             ::1/128                 md5
    
  3. Speichern Sie die Datei mit Ctrl- O. Beenden Sie nano mit Ctrl-X

  4. Starten Sie postgresql neu mit

    sudo service postgresql restart
    

verwandte Informationen