Zmena hesla v PostgreSQL nejde

Karel Zak - Zakkr zakkr na zf.jcu.cz
Úterý Listopad 30 14:33:02 CET 1999



On Tue, 30 Nov 1999, Borek Lupomesky wrote:

> On 30 Nov 1999, Horak Daniel wrote:
> 
> > > test=> alter user palikova with password nnn ;
> > > ERROR:  You must have Postgres superuser privilege to do a 
> > > COPY directly
> > > to or from a file.  Anyone can COPY to stdout or from stdin.  
> > > Psql's \copy
> > > command also works for anyone.
> > > 
> > >    Prislusna prava k pg_shadow jsem samozrejme GRANTnul. Co s tim?

:-) To asi staci. Trocha citace ze zdrojaku PgSQL:

/*---------------------------------------------------------------------
 * UpdatePgPwdFile
 *
 * copy the modified contents of pg_shadow to a file used by the postmaster
 * for user authentication.  The file is stored as $PGDATA/pg_pwd.
 
Proste to pouzica COPY a to musi bezet se superuserem pokud nepise na
klientovo stdin/stdout. Takze to muzete zase GRANTnout tak jak to bylo 
(stejne je to silenstvi). 

> > 
> > Ja to resim tak, ze menim heslo jako pgsql superuser
> 
>    Tak na to bych prisel take, ale ja chci, aby si uzivatele mohli zmenit
> hesla sami.

ALTER/CREATE USER zapisuje do pg_shadow a tam ma prava jen superuser. Pokud
to chcete obejit tak musite vytvorit RULE (nic jineho mne nenapada).
Vlastnosti RULEs je, ze bezi s privilegii toho kdo je vytvoril, takze i
bezny uzivatel by mel nejak moznost menit pg_shadow. Pokud todle udelate tak
se ozvete, zajimalo by me to, ono to neni tak jednoduche...

Jinou moznosti (nezkousel jsem) je mit hesla mimo DB tedy ve filu (viz.
/etc/postgresql/pg_hda.conf). A pak to menit pomoci pg_passwd, na normalni
prikazove radce, to ale napr. v PHP aplikaci je na nic. 

A nebo (a to je nejlepsi moznost) prejit na autentifikaci via. kerberos. Pak
hesla opet nejsou v DB (take jsem nezkousel).

Asi nejlepsi by bylo prehodnotit tento pozadavek. Nejsem si jist jak je 
to na jinych SQL (?), ale asi to take neni zadna slava v meneni hesel primo
v SQL. PgSQL na alespon moznost mit externi passwd nebo kerbera atd.

						Karel

----------------------------------------------------------------------
Karel Zak <zakkr na zf.jcu.cz>              http://home.zf.jcu.cz/~zakkr/

Docs:        http://docs.linux.cz                    (big docs archive)	
Kim Project: http://home.zf.jcu.cz/~zakkr/kim/        (process manager)
FTP:         ftp://ftp2.zf.jcu.cz/users/zakkr/        (C/ncurses/PgSQL)
-----------------------------------------------------------------------



Další informace o konferenci Databases