Ergebnis 1 bis 5 von 5

Thema: Anmeldung mit phpPgAdmin nach PostreSQL-Update nicht mehr möglich

  1. #1
    FrankImGlueck ist offline Neuer Benutzer
    Registriert seit
    10.01.2009
    Beiträge
    19

    Standard Anmeldung mit phpPgAdmin nach PostreSQL-Update nicht mehr möglich

    Hallo zusammen,

    ich habe vor ein paar Monaten auf meinem Debian (damals noch Etch) Vserver PostgreSQL 8.1.11 mit PostGIS installiert. Außerdem auch Webmin und phpPgAdmin.

    Ein dist-upgrade (auf Lenny) und ein paar update-/upgrade-Durchläufe später finde ich jetzt auch eine Version 8.3 von PostgreSQL in den entsprechenden Verzeichnissen. Laut Webmin- und psql-Ausgaben ist z.Zt. wohl aber eine Version 8.1.15 "aktiv". (Wo kann ich das denn eigentlich selbst einstellen?) Und auch phpPgAdmin benutzt offenbar diese Version, wie mir deren Logfile nach meinen erfolglosen Einloggversuchen verrät:
    Code:
    FATAL:  Ident-Authentifizierung für Benutzer »mein_user« fehlgeschlagen
    Weiter oben im Log finde ich auch ein:
    Code:
    LOG:  unvollständiges Startpaket
    Gibts hier ein Problem?

    Vorher habe ich natürlich in postgresql.conf
    Code:
    listen_addresses = '*'
    und in pg_hba.conf (an erster Position)
    Code:
    host all mein_user 0.0.0.0 0.0.0.0 md5
    eingetragen und den Server auch neugestartet.

    Auf der Konsole hingegen klappt die Anmeldung via TCP/IP:
    Code:
    psql -h localhost -U mein_user
    Könnte es ein Problem mit den Zugriffsrechten geben? Auf welche Verzeichnisse/Dateien müsste denn der Webbenutzer ggf. zugreifen können?

    Danke schon mal und beste Grüße,
    Frank

  2. #2
    Gisman ist offline Erfahrener Benutzer
    Registriert seit
    20.01.2006
    Ort
    Pfalz
    Beiträge
    751

    Standard

    Hallo!

    Du könntest mit Select version() herausfinden ob die Webtools auf das gleiche Postgres zugrifen wie psql. Im Zweifel liefert psql die vertrauenswürdigeren Ergebnisse

    Gruß Uwe
    Have a lot of fun!

  3. #3
    akretschmer ist offline Super-Moderator
    Registriert seit
    29.10.2006
    Ort
    Nähe Dresden
    Beiträge
    5.337

    Standard

    Zitat Zitat von FrankImGlueck Beitrag anzeigen
    Ein dist-upgrade (auf Lenny) und ein paar update-/upgrade-Durchläufe später finde ich jetzt auch eine Version 8.3 von PostgreSQL in den entsprechenden Verzeichnissen. Laut Webmin- und psql-Ausgaben ist z.Zt. wohl aber eine Version 8.1.15 "aktiv". (Wo kann ich das denn eigentlich selbst einstellen?)
    Du kannst via 'select version()' abfragen, welche PG-Version läuft. Möglicherweise laufen bei Dir 2, die 8.1 auf Port 5432 und die 8.3 auf 5433 oder so.

    ]
    Und auch phpPgAdmin benutzt offenbar diese Version, wie mir deren Logfile nach meinen erfolglosen Einloggversuchen verrät:
    Code:
    FATAL:  Ident-Authentifizierung für Benutzer »mein_user« fehlgeschlagen
    Das sagt nix über die Version, sondern nur, daß als Auth-methode Ident verwendet wird und der sich anmeldene User nicht der ist, als der er sich bei der Anmeldung ausgibt.

    Weiter oben im Log finde ich auch ein:
    Code:
    LOG:  unvollständiges Startpaket
    Gibts hier ein Problem?
    Kannst Du erst mal in den Skat drücken.

    Vorher habe ich natürlich in postgresql.conf
    Code:
    listen_addresses = '*'
    und in pg_hba.conf (an erster Position)
    Code:
    host all mein_user 0.0.0.0 0.0.0.0 md5
    eingetragen und den Server auch neugestartet.

    Auf der Konsole hingegen klappt die Anmeldung via TCP/IP:
    Code:
    psql -h localhost -U mein_user
    Könnte es ein Problem mit den Zugriffsrechten geben? Auf welche Verzeichnisse/Dateien müsste denn der Webbenutzer ggf. zugreifen können?
    Nein, der Webuser braucht keine speziellen Rechte, er spricht mit der DB und nicht mit dem Filesystem. Ich vermute mal, Du hast 2 Installationen und daher ein Problem (das ist kein grundsätzliches Problem, ich habe auch 8.3 und 8.4dev gleichzeitig laufen).

    Vermutlich editierst Du nicht die pg_hba.conf, die von der Instanz benutzt wird, mit der Du Dich verbindest. Wenn Du mit psql Dich verbunden hast, prüfe mit select version() die Version und schaue Dir mit 'show hba_file;' an, welche pg_hba.conf benutzt wird.


    Andreas
    --
    ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
    https://www.xing.com/profile/Andreas_Kretschmer7

  4. #4
    FrankImGlueck ist offline Neuer Benutzer
    Registriert seit
    10.01.2009
    Beiträge
    19

    Standard

    Hallo und danke für Eure Antworten!
    Leider komme ich erst heute wieder dazu ...

    Zitat Zitat von akretschmer Beitrag anzeigen
    Du kannst via 'select version()' abfragen, welche PG-Version läuft. Möglicherweise laufen bei Dir 2, die 8.1 auf Port 5432 und die 8.3 auf 5433 oder so.
    Zusätzlich habe ich auch noch eine 7.4 anzubieten! :-) Und es laufen sogar alle drei und werden nach jedem Reboot wieder gestartet (was ich mittels /etc/init.d/postgresql-x.x start bzw. stop feststellen konnte).

    Zitat Zitat von akretschmer Beitrag anzeigen
    Das sagt nix über die Version, ...
    Da hatte ich mich missverständlich bzw. unvollständig ausgedrückt. Ich meinte, dass die Fehlermeldungen nach meinen bei phpPgAdmin gescheiterten Einloggversuchen in die zur entsprechenden Version gehörende Log-Datei, nämlich in die postgresql-8.1-main.log, geschrieben wurden. Also schließe ich auf die Version 8.1.15.

    Zitat Zitat von akretschmer Beitrag anzeigen
    ... sondern nur, daß als Auth-methode Ident verwendet wird und der sich anmeldene User nicht der ist, als der er sich bei der Anmeldung ausgibt.
    Hmm, das heißt? Und wie will er das festgestellt haben? Was kann denn da von welchen zu erwartenden Daten abweichen? Sowohl Benutzername als auch Passwort stimmen ja überein, wie ich an der Konsole mit der selben psql-Version überprüfen kann.

    Zitat Zitat von akretschmer Beitrag anzeigen
    Vermutlich editierst Du nicht die pg_hba.conf, die von der Instanz benutzt wird, mit der Du Dich verbindest. Wenn Du mit psql Dich verbunden hast, prüfe mit select version() die Version und schaue Dir mit 'show hba_file;' an, welche pg_hba.conf benutzt wird.
    'select version()' habe ich gemacht -> 8.1.15.
    Das scheint es aber auch nicht zu sein. Zum einen zeigt die Ausgabe von 'show hba_file;' auf genau die vermutete Datei, nämlich /etc/postgresql/8.1/main/pg_hba.conf. Zum anderen habe ich sogar alle drei fraglichen Dateien angepasst - ohne Erfolg. :-(

    Noch irgendwelche Ideen?

    Danke und Grüße,
    Frank

  5. #5
    FrankImGlueck ist offline Neuer Benutzer
    Registriert seit
    10.01.2009
    Beiträge
    19

    Standard

    Ok, habs jetzt hinbekommen! Hatte noch nicht in die config.inc.php von phpPgAdmin reingeschaut, weshalb ich nicht drauf kam, dass man sich ja (per Voreinstellung!) auch via UNIX domain socket anmelden kann. Bis dahin hatte ich nur mit host-Einträgen herumgespielt. Danke nochmal!

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Links: Tobias Bauer - IT- und Funkdienstleistungen   -   Bilderrahmen-kaufen.de - Der Onlineshop für Bilderrahmen & Fotorahmen   -   Funkforum