Re: Postgre Userzugriffe
On Sun, Apr 17, 2005 at 03:02:53PM +0200, Frank Habermann wrote:
> Hallo leute
>
> ich setze mich gerade mit postgre und den zugriffen auseinander und ich hab da noch so meine komischen fragen zu.
>
> ich hab in meiner pg_hba.conf folgende zeile stehen:
> host all all 127.0.0.1 255.255.255.255 trust
>
> wenn ich mir nun die doku schnappe interpretiere ich die zeile so: alle user können von localhost zugreifen ohne das sie ein passwort brauchen(zugriff über tcp)
>
> wenn ich nun die zeile wie folgt aber ändern würde
> host all all 127.0.0.1 255.255.255.255 password
>
> würde ich laut doku davon ausgehen das diesmal ein passwort zu dem benutzer gebraucht wird welches gültig ist.
>
> nun mein problem oder die wirklichkeit. die erste zeile verhält in wirklichkeit so wie ich die zweite aus der doku annehmen würde. sprich ich hab die erste zeile bei mir drin stehen in der datei. kann mich aber über phppgadmin nur mit gültigem user und dazu nem gültigen passwort einloggen. wenn ich nun die zweite zeile benutze komme ich mit phppgadmin garnet mehr rein.
>
> was verstehe ich da falsch oder mache ich falsch? kann mir das nochmal jemand erklären damit ich da durch steige?
>
> und wie ist das wenn ich md5 verwenden als option. muss phppgadmin dann mein passwort als md5 schlüssel übermitteln oder wie soll das dann funktionieren?
>
> wer kann helfen?
>
Die pg_hba.conf legt die zugriffsrechte fest mit der das Client Programm
auf den Prozess zugreifen kann.
Wenn Du willst, dass der db Nutzer sich authentifizieren muss musst Du
natuerlich die Zugriffsrechte in der DB anpassen.
Dass geschieht mit dem Befehl "alter user"
Die Verwendung des Befehls kannst Du Dir mit \h alter user anzeigen
lassen.
Als Beispiel:
ALTER USER frank WITH PASSWORD 'frankspassword';
Jetzt muesste sich der user frank mit dem password frankspassword
anmelden.
Wenn nun mit phppgadmin darauf zugreifst, muss sich der Benutzer imm
mit dem Passwort anmelden, solang dieses in der DB gesetzt ist. Um das
wieder zu loeschen, kannst Du auch wieder alter user verwenden:
ALTER USER frank with PASSWORD '';
Dies sollte das Passwort zuruecksetzten.
Bei MD5 ist natuerlich die MD5 CR authentifizierung gemeint. Diese
laeuft zwischen Deinem PHP Programm und der DB. Wie das zwischen Deinem
Browser und dem Webserver uebertragen wird, ist natuerlich eine ganz
andere Sache. Ich vermute Deine Webapplikation laeuft auf dem selben
Rechner wie die Datenbank. Daher wirst Du Dich denn sehr wahrscheinlich
local verbinden. Hierbei bringt Dir die MD5 Methode keinen
Sicherheitsgewinn. Du musst den Transfer zwischen Deinem Browser und dem
Webserver absichern.
Ich hoffe das hat geholfen
Henning
--
Henning Follmann | hfollmann@itcfollmann.com
it consultant | www.itcfollmann.com
Reply to: