Virtualni korisnici u mysql bazi podataka

Bojim se da ce neko reci da sam vec dosadan sa ovim virtualnim korisnicima, ali stvarno mi je potrebno. Interesuje me dali je moguce imati korisnike u MySQL bazi podataka i da ti isti imaju svoje home direktorije ili da prema njihovim uid brojevima mogu davati pristup odredjenim direktorijima.

U google.u samo dobijem teme tipa “virtualni korisnici za kojekakve aplikacije”. Ovo mi je takodjer od velike pomoci, ali ja konkretno zelim znati kako da sistemu kazem, da taj i taj direktorij pripada tom korisniku koji se nalazi i toj bazi podataka… ako neko ima neko rijesenje ili barem mali hint, bio bih puno zahvalan…

Pozdrav

Ice

Mysql vodi racuna o korisnicima potpuno neovisno od sistema … dakle svaki korisnik u mysql-u je “virtualni” :slight_smile: koliko ja znam :slight_smile:

Aj rili agri

testni_hamo2 je u pravu. mysql je dizajniran da bude nezavisan od platforme, tako da korisnici baze namjerno nemaju veze sa korisnicima sistema…

Pretpostavljam da ti zelis za svakog korisnika napraviti po jednu bazu i smjestiti je u njegov home direktorij, a da istovremeno osiguras da svako ima pristup samo svojoj bazi. Ako je to ono sto zelis, onda mozes uraditi slijedece (uz pretpostavku da mysql cuva baze podataka u /var/lib/mysql):

1. Za nekog korisnika sistema (npr. dummy), koji ima home direktorij (npr. /home/dummy) u mysql-u napravi odgovarajuceg virtuelnog korisnika i bazu za njega (recimo db_dummy), i samo njemu dozvoli pristup toj bazi.

2. Zatim prebaci sve fajlove baze db_dummy iz /var/lib/mysql/db_dummy u /home/dummy/.mysql i napravi simbolicki link na /home/dummy/.mysql.

[code]bash# mysqladmin create db_dummy

Database “db_dummy” created.

bash# mysql -u root -p mysql # ostale operacije iz 1.

Enter password:

bash# mv /var/lib/mysql/db_dummy /home/dummy/.mysql

bash# ln -s /home/dummy/.mysql /var/lib/mysql/db_dummy[/code]

… i sad to sve ponovis za sve ostale korisnike :slight_smile:

Vodi racuna da ti svaki simbolicki link jede po jedan i-node!

hvala na odgovoru, samo je ovo druga stvar… ali ovaj odgovor mi ionako treba… hvala ;)… mozda sam se prvi put pogresno izrazio ( or whatever ). Ja zelim imati bazu podataka sa korisnicima. Tabelu sa korisnikovim loginom, uid, gid brojevima, pathom za home direktorij itd. eh sad ja kad dodajem unos u ovu tabelu, zelim da se napravi taj njegov home direktorij ( path kao u tabeli ) i da promjenim ownera tog direktorija u login:gid.

mkdir /home/virtual1
chown -R virtual1 /home/virtual1

ne znam kako da opisem inace :wink: I sad posto virtual1 nije sistemski user, meni se javi greska da to nije moguce ( zadnja naredba ). A fazon je u tome sto sam vidio da recimo prilikom instalacije iz jednog RPMa jedna datoteka pripada korisniku 121323 grupa “wheel” a ni jedno ni drugo nije uneseno u sistem. Nadam se da sam ovaj put bio bolji u formuliranju mog problema :wink:

Pozdrav

ICE

dod’o usera umjesto chmod i makedir:

adduser virtual1 <-dodatne opcije>
ili mozda
useradd virtual1 <-dodatne opcije>

nisam sad siguran za ime komande, ali
tako mozes odmah napraviti i direktorije.
Ti mozda ne zelis da kreiras korisnike
prilikom unosa podataka i pravljenja
direktorija…?

da da… hocu da napravim direktorij ali ne zelim da je korisnik kome pripada direktorij unesen u /etc/passwd :wink: jednostavno receno…

Pozdrav

ICE

ali iz man chown:

"Owner is unchanged if missing. Group is unchanged if missing, but
changed to login group if implied by a ‘:’. "

A to sto vidis da datoteke iz rpm-paketa imaju korisnike koji ne postoje
mislim da je rezultat sto nema provjere kada npr. “un-tarash” tar
datoteku kao prilikom izvrsavanja chown komande.

ne kontam vise nista… sad sam promjenio ownera svog direktorija u 1231241 i upalilo je… izgleda da chown ne radi u slucaju nepostojecih korisnika kad se ime navede… znaci chown virtual1 ne radi, ali chown 123123 radi :wink: ja mislim da ce mi ovo pomoci dalje… hvala svima na trudu…

Pozdrav

ICE

2 IceBreaker: Eh prijatelju ja tebe ne kontam. Sta ti hoces ovdje da uradis ?
Hoces da ti useri budu u mysql bazi i da im tamo ubacujes neki uid i gid a da to bude nezavisno od /etc/passwd i da ti isti useri imaju na HDD-u home dirove sa tim uid i gid brojkama … ?!? Jel vako il nije ?

maher_

IceBreaker, to što si napravio sa chown 12345 ti ništa ne radi jer nema smisla sistem vlasništva ako korisnik nije sistemski korisnik. Korisnici na nivou sistema moraju biti jedinstveni ako hoćeš da ti permisije imaju smisla, sad možeš ih držati u /etc/passwd ili u MySQL bazi ali poenta je da svi moraju biti na jednom mjestu… ne može malo tamo malo vamo :slight_smile: ok?

Mozda bi bilo pametno da u mysql bazi pamtis korisnike koji su virtualni a prilikom logiranja nekog od korisnika da ga dodas (sa adduser) i kad zavrsi sa radom da ga obrises. Tako bi bilo dobro …

[quote]2 IceBreaker: Eh prijatelju ja tebe ne kontam. Sta ti hoces ovdje da uradis ?
Hoces da ti useri budu u mysql bazi i da im tamo ubacujes neki uid i gid a da to bude nezavisno od /etc/passwd i da ti isti useri imaju na HDD-u home dirove sa tim uid i gid brojkama … ?!? Jel vako il nije ?

maher_[/quote]

BINGO mahere… istina kako neki rekose, ne moze se malo vamo malo tamo :wink: ipak nije Linux windows :wink: aliii fazon je u tome sto ti korisnici fakat trebaju biti virtualni… to znaci nema logiranja na sistem niti nesto slicno… interesuje me zato sto bih koristio proFTPd koji moze da cita korisnicke podatke iz mysql baze i da prema njima odredjuje usere i njihove direktorije… ali fazon je ako ja jednom direktoriju ne promjenim vlasnika u usera sa UIDom ( koji je u mysql bazi ), taj bi korisnik mogao da seta po svim direktorijima i nebi ga mogao “vezati” za njegov home direktorij…

jel sad jasnije :wink:

Pozdrav

ICE

Pa to je jedino tako i izvodivo…

Nije jedino tako izvodivo. Covjek hoce da mu se ne prijavljuju korisnici na sistem … moguce je i tako napraviti. Ali ne znam zasto je to neprijavljivanje toliko vazno :slight_smile:

A kako se to postiže na Windowsu?

Ako nećeš da se korisnici mogu logovati, staviš im shell /bin/false :slight_smile:

Dokumentacija za ProFTPd je trenutno offline iz nekog razloga, ali definitivno je moglo. Pogledaj npr. ovu direktivu koju su nekako zaboravili obrisati :wink:
http://proftpd.linux.co.uk/localsite/Userguide/linked/config_ref_SQLHomedirOnDemand.html

Pa reci brate odmah šta hoćeš :slight_smile:

eh nasao si koga ces pitat :wink:

to za /bin/false znam, ali ipak nije fazon da ih drzim u /etc/passwd

imam utisak da kad nesto kazem da hocu, niko me vise ne konta… moracu postati picasso i crtati svima :wink:

Za proFTPd ima dosta fazona, ali mene je interesovalo nesto ovako… kad budem u stanju, mozda vam dostavim kakav HowTo ili moj software za virtualni hosting :wink:

Pozdrav

ICE

Čuj, ja sam isto dosta glavu razbijao oko toga svojevremeno i moj zaključak je da to jednostavno nije The UNIX Way ™

Ono, ako hoćeš korisnika onda ga dodaješ u /etc/passwd, bez obzira da li je to mail, web, ftp,… korisnik. Ima raznih rješenja za pojedine servise, ali gdje god da pitaš svi će ti reći “pa zašto ih ne dodaš u /etc/passwd” - i stvarno nema nikakvog razloga :slight_smile:

hehehe… ja nisam SVI :wink: ja bih ti recimo rekao - pobacaj korisnike u LDAP i rijesena stvar, samo sto u ovom mom slucaju LDAP bas i ne pali… ili mozda upali, ali necu da vise razbijam glavu radi toga ( bojim se da bi moglo ostati krvi na zidu :wink: )…

btw. 5000 korisnika u /etc/passwd… zamisli taj file-ic :wink:

Pozdrav

Ice

Pa nisam mislio striktno /etc/passwd, može bilo koji user database kojeg podržava PAM. Šta fali fajlu /etc/passwd od 5000 * 100 B = 500 kB? Nije ništa veći od odgovarajućeg users.MYD, zar ne? A ako pobacam korisnike u LDAP mogli bi se jadni ozlijediti, tvrd taj LDAP…