Witam. Mam zainstalowego Postgresa 9.1, w pliku /etc/postgres/9.1/main/pg_hba.conf zakomentowalem wszystkie wpisy poza jednym:
local all all md5
Wg. tych zrodel:
http://www.postgresql.org/docs/9.1/static/auth-pg-hba-conf.html
http://www.postgresql.org/docs/9.1/static/auth-methods.html#AUTH-PASSWORD
oznacza to ze:
- local - tylko polaczenia po unix domain sockets
- pierwsze all - dostep do wszystkich baz
- drugie all - dla wszystkich uzytkownikow
- md5 - wymaga podania hasla dla loginu ktorego uzywam; haslo wczesniej zostalo skonfigurowane za pomoca: alter user postgres with password 'postgres'; w psql
Teraz probuje sie polaczyc jako zwykly uzytkownic:
psql -d postgres -U postgres
(baza postgres, user postgres)
i laczy sie nie pytajac nawet o haslo! Sprawdzalem czy haslo ustawilem poprawnie wymuszajac -W pytanie o nie, i dziala poprawnie, wiec md5 i haslo sa dobrze ustawione.
Jak dodam wpis dla polaczen TCP/IP to pyta o haslo.
Pytanie - dlaczego nie pyta mnie o haslo? Pozwala zwyklemu lokalnemu uzytkownikowi polaczyc sie jako administrator bazy (postgres) bez pytania go o haslo. Wie ktos co nalezy zmienic?
Ok, utworzylem nowego usera o nazwie test, i on musi sie zalogowac z haslem. Ten user ktorego uzywam normalnie jest w grupach:
piksel adm dialout cdrom plugdev lpadmin admin sambashare www-data
i grupa admin jest w /etc/sudoers.
Mimo wszystko wydaje mi sie to jakies dziwne.
Aha, Ubuntu 11.10, to pewnie tez wazne.
Dodalem nowego usera test do grup admin in adm, czyli teraz jest tez sudoerem, i nadal psql chce hasla, czyli to nie to.