*
ne bitno za ono sto se zeli reci, ali bitno kao opste saznanje: sadrzaj kolone RDB$PRIVILEGE su jednoslovni karakteri (iako? je ista/kolona dimenzije CHAR(6)): A, S, D, I, U, R, M, koji respektivno prezentuju vrstu privilegije njenim prvim slovom: ALL, SELECT, DELETE, INSERT, UPDATE, REFERENCE, MEMEBER OF (for roles)
jos nesto ne bitno za ono sto se zeli reci, ali bitno kao opet opste saznanje: posle samog formiranja baze, dakle fajla u kome ce TEK da budu radne tabele tj. u kome su za'sad SAMO sistemske tabele (one sto sve pocinju sa RDB$...), sadrzaj sistemske tabele RDB$USER_PRIVILEGES za zivo cudo NIJE prazan: u njoj je (automatski! pri kreiranju baze/fajla) INSERT-ovano 6 redova u kojima owner baze, imenovan u koloni RDB$GRANTOR, dodeljuje ustvari sam sebi (!) 'S', 'I', 'U', 'D', 'R' privilegije nad sistemskom tabelom 'RDB$ROLES' imenovanom u koloni RDB$RELATION_NAME, i u zadnjem redu takodje owner kao imenovani iz kolone RDB$GRANTOR, daje 'S' privilegiju nad tabelom 'RDB$ROLES' iz kolone RDB$RELATION_NAME specijalnom user-u sa imenom 'PUBLIC'... sve receno u ovom pasusu ne bi bilo mnogo bitno, da se taj automatizam formiranja tih 6 redova ne bi mogao iskoristiti da se jednom dopisanom/korisnickom procedurom dodje da imena ownera baze, sto nam FireBird (a i InterBase) NE omogucavaju kroz svoje kontekst varijable (kao sto su na primer CURRENT_USER i CURRENT_ROLE); dakle MOZE se sasvim regularnom SQL procedurom naci i ko je owner baze - ali uz samo ipak ;) jedan "mali uslov": u bazi se NE SMEJU koristiti role, jer onda potrebni SELECT-i ne bi vracali jedan red... :((( ... pa ko voli nek' (tako) izvoli...
*
Na pocetku je pod navodnike stavljeno "user" - ne bez razloga, jer iako kolona zaista ima naziv RDB$USER, njen sadrzaj ne moraju biti samo registrovani/zivi user-i iz tabele security.fdb, vec - i kojesta drugo ! ... Nadju se tu pored zaista pravih user-a i imena procedura, imena trigera, i svega drugog cemu se moze GRANT-ovati neko pravo/privilegija, sto nas navodi na to da je "user" shvacen u SIREM smislu, da to nije samo onaj zivi covek iz tabele security.fdb vec i bilo koji drugi entitet...
E sad', ima jedna mala zvrcka od fenomena :) oko toga...
Neka je regularno (u security.fdb) registrovan jedan user kome nisu data NIKAKVA prava nad NICIM iz neke baze. Ako je ta baza SKROZ prazna, tj. ako nema NI JEDNU tabelu (ili neki drugi entitet kome je inace potrebno GRANT-ovati pravo/privilegiju pristupa), tada taj user MOZE pristupiti takvoj/praznoj bazi, MOZE se (u)konektovati na nju - ali, ako baza NIJE prazna, ako ima bilo cega u njoj cemu JESTE potrebno GRANT-ovanjem dodeliti prava/privilegije pristupa, a doticni user to nema - tj. njegovog imena UOPSTE i NEMA u koloni RDB$USER tabele RDB$USER_PRIVILEGES - tada takvom user-u nece biti dozvoljeno ni da primirise doticnoj bazi: problemi ce se javiti ODMAH pri samoj konekciji na nju: ispisace se kojekakve poruke i cak error-i da nesto ne valja... a sve to naravno ne vazi za user-e koji se pojavljuju makar u jednom redu tabele RDB$USER_PRIVILEGES: on IMA razloga do zaviruje u bazu...
NAPOMENA: Celu tu lepu pricu kvare onih 6 redova koji se automatski generisu pri formiranju baze: kada postoje SAMO oni, onaj registrovani user koji nema razloga da pristupa bazi - IPAK moze da se konektuje IAKO ga TADA TAKODjE nema ni u jednom redu tabele RDB$USER_PRIVILEGE u koloni RDB$USER ... a cim se formira neki koristan/radni enitet za koga je potrebno GRANT-ovanje, onaj user koji nema sta da trazi u takvoj bazi, odbija se vec na ulazu u nju, pri konekciji, dok bukvalno tek "otkljucava vrata ulaza"...
ZAKLjUCAK: "tako (i) treba..."
postoji samo jedan apsolut u logickoj ravni desavanja/vremena:
SVE je RELATIVNO sem:
- osnovnih konstanti svemira
- logike
...i ove tvrdnje
*
Daniel J. Boorstin: The Discoverers, A History of Man’s Search To Known
Napredak nauke zavisice od covekove spremnosti da poveruje u neverovatno, da prekoraci granicu koju namece zdrav razum.
SVE je RELATIVNO sem:
- osnovnih konstanti svemira
- logike
...i ove tvrdnje
*
Daniel J. Boorstin: The Discoverers, A History of Man’s Search To Known
Napredak nauke zavisice od covekove spremnosti da poveruje u neverovatno, da prekoraci granicu koju namece zdrav razum.