Sziasztok!
Ma vmiért 'megbutult' a PostgreSQL adatbázisom. Nem enged belépni külső felületről (pl: phpPgAdmin) és másik usernév alól sem (pl biboka helyett root vagy bármi más). A norm user alól azonban teljesen jól működik.
Beléptem,
>psql biboka
és átírtam a jelszót:
ALTER USER biboka UNENCRYPTED PASSWORD 'uj_jelszo';
de az új jelszóval sem működött sehonnan.
Az utóbbi napokban nem nagyon piszkáltam az adatbázist, ma d.e. még rendesen ment. Ami max befolyásolhatta az a PHP újrafordítása, habár ezt is kétlem. Találkozott már vki ilyennek? Tudtok rá vmi megoldást?
Előre is köszönöm!
- 2865 megtekintés
Hozzászólások
- log mit ír? ha nem tapasztalsz semmit, akkor kapcsolj részletesebb naplózásra.
- pg_hba.conf rendben van? esetleg egy újraindítás a postmasternek?
- A hozzászóláshoz be kell jelentkezni
Ezeket irogatta, miközben phpPgAdmin-ról próbáltam bejelentkezni:
2006-07-06 22:50:27 [27720] LOG: connection received: host=[local] port=
2006-07-06 22:50:27 [27720] FATAL: IDENT authentication failed for user "biboka"
Újraindítást próbáltam, nem segített.
A pg_hba.conf érdemleges része így néz ki:
# TYPE DATABASE USER IP-ADDRESS IP-MASK METHOD
local all postgres ident sameuser
local all all ident sameuser
host all all 127.0.0.1 255.255.255.255 ident sameuser
host all all ::1 ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff ident sameuser
host all all ::ffff:127.0.0.1/128 ident sameuser
host all all 0.0.0.0 0.0.0.0 reject
- A hozzászóláshoz be kell jelentkezni
Ez a konfig ugy sz*r, ahogy van... A 'local all postgres ident sameuser'
kivetelevel modositsd: ident sameuser helyett md5 legyen, aztan restart.
- A hozzászóláshoz be kell jelentkezni
En mindig md5 auth-ot hasznalok, azzal biztos, hogy nem lesz szivas, nem fuggok az adott kornyezettol. A usert meg createuser -E kapcsoloval keszitem, igy meg mindig mukodott, meg biztonsagosabb is.
- A hozzászóláshoz be kell jelentkezni
szaszq: van.
szipka: köszi, utánaolvasok és kipróbálom. Még soha sem dolgoztam md5-auth-al, tudnál írni róla pár alap dolgot? Át lehet állítani már meglévő user-t md5-auth-ra?
- A hozzászóláshoz be kell jelentkezni
Nem lehet, hogy a postmaster mogul hianyzik a -i kapcsolo?
(pl frissites, etc-update, egyebek)
---------------------
Ригидус а бетегадьбол
- A hozzászóláshoz be kell jelentkezni
Köszi, kipróbáltam, de '-i'-vel sem megy. Lehet h az egészet fel kéne tornászni 8.1-esre, a jelenlegi verziója 7.4.7
Szerk.: így néz ki a log debug (5) módban (hátha vkinek ez többet mond):
2006-07-06 23:12:12 [27826] DEBUG: proc_exit(0)
2006-07-06 23:12:12 [27826] DEBUG: shmem_exit(0)
2006-07-06 23:12:12 [27826] DEBUG: exit(0)
2006-07-06 23:12:12 [27823] DEBUG: reaping dead processes
2006-07-06 23:12:17 [27823] DEBUG: forked new backend, pid=27828 socket=8
2006-07-06 23:12:17 [27828] LOG: connection received: host=[local] port=
2006-07-06 23:12:17 [27828] FATAL: IDENT authentication failed for user "biboka"
2006-07-06 23:12:17 [27828] DEBUG: proc_exit(0)
2006-07-06 23:12:17 [27828] DEBUG: shmem_exit(0)
2006-07-06 23:12:17 [27828] DEBUG: exit(0)
2006-07-06 23:12:17 [27823] DEBUG: reaping dead processes
2006-07-06 23:12:17 [27823] DEBUG: child process (PID 27828) exited with exit code 0
- A hozzászóláshoz be kell jelentkezni
FATAL: IDENT authentication failed for user "biboka"
Es van biboka user az /etc/passwd file-ban?
Zsiraf
- A hozzászóláshoz be kell jelentkezni
A UNIX user nem feltetel. A postgres szeparaltan kezeli a usereket a unix kornyezettol fuggetlenul. Nekem pl most van egy "drupal" userem es azon keresztul menedzselem a hozza tartozo adatbazist. :-)
Szerk: Egyebkent mar latom, hogy mi van. Amit a lenti threadben irtam az valszeg meg fogja oldani. Nincsen felveve neki a pg_hba.conf-ba a kulso gep es/vagy a "biboka" user mint megbizato forras. :-)
---------------------
Ригидус а бетегадьбол
- A hozzászóláshoz be kell jelentkezni
:-) aranyos vagy.... az ident sameuser azt jelenti, hogy az ident protokollall probalja kideriteni, hogy az adott username letezik-e local user-kent (sameuser map) a gepen. Ha nem, elhajt a halal ....
Amugy nem veletlenul RedHat? Lehet, hogy ez a problema?
Zsiraf
- A hozzászóláshoz be kell jelentkezni
"az ident sameuser azt jelenti, hogy az ident protokollall probalja kideriteni, hogy az adott username letezik-e local user-kent"
Az stimmel. :-) De itt szo nem volt a "sameuser" identifikaciorol, mivel a "gyari" postgres useren kivul mashol meg sem volt adva neki a pg_hba.conf-ban.
Az tiszta sor, hogy kesobb lehet szigoritani a bejelentkezeseket, de ez mar egy sokadlagos kerdes. Itt a hangsuly azon volt, hogy eloszor elinduljon. :-)
---------------------
Ригидус а бетегадьбол
- A hozzászóláshoz be kell jelentkezni
;-) igaz, az utolsa sor elkerulte a figyelmemet...
host all all 0.0.0.0 0.0.0.0 reject.. De nem... bocs, nincs igazad! ha a logban azt mondja:
2006-07-06 22:50:27 [27720] LOG: connection received: host=[local] port=
2006-07-06 22:50:27 [27720] FATAL: IDENT authentication failed for user "biboka" akkor 1. nem tavolrol probalkozott: connection received: host=[local] port=, raadasul ez UNIX socket-nak nez ki ;-) tehat teljesen local...
2. IDENT auth failed... tehat igenis az ident ment, es mivel az akkori config-ban nem volt mas csak sameuser, ezert bizony az.
Szoval igenis sameuser volt! Persze az -i nem valtoztat a dolgon, mivel localhost-rol probalkozik (legalabbis a logreszlet alapjan)
Zsiraf
- A hozzászóláshoz be kell jelentkezni
Debiab Sarge van a gépen. Kezdem érteni a configját, mire jó, h egyszer elromlik?! :D Magamtól soha nem asnám bele magamat, ha rendesen működne:P
- A hozzászóláshoz be kell jelentkezni
hmmm. valami php ujraforditasrol irtal... nem lehet, hogy az a bionyos phpPgAdmin-t vagy mit is erintette...
Zsiraf
- A hozzászóláshoz be kell jelentkezni
Nem teljesen... a trust azt jelenti, hogy mindenfele auth nelkul beengedi... Az ident, meg azt jelenti, hogy azon a gepen, ahonnet csatlakozol, az usernevednek, annak kell lenni ami a map-file alapjan megfelel egy adott PG beli usernevnek... Ha sameuser map-ot adsz meg, akkor a client-server nevnek meg kell egyeznie... pl.
kliens: a user mondjuk biboka, es ident sameuser, akkor a szerveren kell lenni egy biboka usernek, es annak a user-nek a neveben fog belepni a PG-be... (ugyhogy valoszinu rosszat kerdeztem az elobb a kollegatol, az igazi kerdes nem az, hogy van-e biboka, hanem az, hogy az a process, ami be akart lepni, milyen user-e volt... gondolom nem biboka-e.)
Zsiraf
- A hozzászóláshoz be kell jelentkezni
"Köszi, kipróbáltam, de '-i'-vel sem megy. Lehet h az egészet fel kéne tornászni 8.1-esre, a jelenlegi verziója 7.4.7"
Szvsz, tokmindegy. :-)
De probald ki ezt:
# "local" is for Unix domain socket connections only local all all trust # IPv4 local connections: host all all 127.0.0.1/32 trust host all all 10.0.0.13/8 trust # IPv6 local connections: host all all ::1/128 trust
Nalam mukosik. A 10.0.0.13/8 helyere add meg a kulso gep ip cimet es a postmastert "-i"-vel inditsd mindenkeppen. :-)
---------------------
Ригидус а бетегадьбол
- A hozzászóláshoz be kell jelentkezni
'trust' helyett md5-re állítottam a 2. (socket) és a 3. (ipv4) sort, és így működik rendesen:)
Köszi mindenkinek a segítséget!
- A hozzászóláshoz be kell jelentkezni
;-)
---------------------
Ригидус а бетегадьбол
- A hozzászóláshoz be kell jelentkezni
A felhasználó amivel beenged az superuser?
Megnézheted így (psql konzolon):
select * from pg_shadow;
A táblázatban az usesuper oszlopban kell lennie egy kis t-nek
Ha igen akkor dobd el a "használahatatlan" usert.
DROP xxxxxx;
Utána hozd létre újra jelszóval együtt.
CREATE USER xxxx PASSWORD yyyyyy;
Ha ez megvan és még mindig nem enged be akkor a pg_hba.confban van elbas*va vlmi.
--------------
Sok ember hord Superman-pizsamát. Superman Chuck Norris-pizsamát hord.
- A hozzászóláshoz be kell jelentkezni
Nekem is hasonló gondom volt. Most beraktam MD5-re. Megy a dolog. Csak azt nem értem, hogy miért nem kellett használnom a crypt függvényt. A pg_connect-ben már benne van?
Előre is köszi a válaszokat
- A hozzászóláshoz be kell jelentkezni
Addig csináltam a dolgokat, hogy nem enged be a postgressel md5-be, csak ha trust-n van a unix socket. Mit tudok ezzel kezdeni?
- A hozzászóláshoz be kell jelentkezni
Hali,
Van egy új szerverem, csináltam bele usert, a usernek db-t. De a júzerrel nem tudok felületen át konnektálni. Gondoltam nézek egy kis logot. De a log sem az igazi, mert nem látom benne a sikertelen belépési kísérleteket. Sőt, még a konzolos sikereseket sem.
--- pg_hba.conf:
local adatbázisnév usernév password
host adatbazisnev usernev 127.0.0.1 255.255.255.255 password
(a konfig legvégén meg ott vannak a default dolgok)--- postgresql.conf:
syslog = 2
syslog_facility = 'LOCAL0'
syslog_ident = 'postgres'
client_min_messages = log
log_min_messages = info
log_error_verbosity = verbose
log_min_error_statement = infolog_statement = true
log_timestamp = true
log_hostname = true
Még vmi: konzolban a "psql -U usernév adatbázisnév" jelszó megadása után beenged, de ha elhagyom az adatbázisnév paramétert, akkor IDENT auth failed-et kapok. Ezt sem egészen értem.
- A hozzászóláshoz be kell jelentkezni
Hmm, jo lenne kiprobalni a psql-t is, hogy mi van, ha TCP-n probalsz kapcsolodni, nem unix domain socket-en at. Elso ranezesre azt mondanam, nem figyel TCP-n a postgres. Az adatbazisnev elhagyasa jo esellyel amiatt van, hogy mar nincs alapertelmezett adatbazis, mint korabban pl. a template1 volt a debianeknal.
- A hozzászóláshoz be kell jelentkezni
hívj nyugodtan lámának!
és igazad lesz........
/me hülye
- A hozzászóláshoz be kell jelentkezni