MariaDB yfir VPN: hvaða user@host sér þjónninn?
Reikningurinn er valinn eftir notanda og hýsli saman. Finndu upprunann sem þjónninn sá, lestu CURRENT_USER() og lagaðu svo þá röð, ekki heimildina.
Sláðu inn sama notandanafn eftir tveimur mismunandi leiðum og MariaDB gæti auðkennt þig sem tvo mismunandi reikninga. Reikningar eru lyklaðir á notanda og hýsil saman, þannig að 'reporter'@'localhost' og 'reporter'@'10.90.0.23' eru aðskildar raðir með aðskildum lykilorðum og aðskildum heimildum. Yfir VPN er áhugaverða spurningin ekki hvaða nafn notandinn sló inn heldur hvaða upprunaaðsetur þjónninn sá.
Ákvarðaðu upprunann sem þjónninn sér í raun
Vinnið afturábak frá gagnagrunnshýslinu, ekki fartölvunni. Aðsetrið sem biðlarinn heldur að hann hafi er aðeins einn af nokkrum möguleikum:
| Path | Source MariaDB sees |
|---|---|
| Routed tunnel, no translation | The client's inner VPN address |
| Gateway source translation | The gateway's translated address |
| SSH local forward | The SSH server's address |
| Public exit, no tunnel | Whatever the ISP handed out |
Notið sönnunargögn frá þjóninum til að ráða því. Tengingarskrá, listi yfir virkar lotur eða tímabundin færsla í almennri skrá sýna aðsetrið sem þjónninn samþykkti. Opinbert IP-tala fartölvunnar úr vafra er önnur staðreynd og oft villandi.
Passið reikninginn sem MariaDB valdi
Val reiknings fylgir skjalfestri röð en ekki sameiningu heimilda. Nákvæm hýslapörun kemur á undan algildisstafi, og raðir nafnlauss notanda taka þátt í pörun á vegu sem kemur á óvart þeim sem gera ráð fyrir að nafnið eitt ráði. Þjónninn velur eina röð; hann sameinar ekki forréttindi hverrar samnefndrar raðar. Að lesa tilvísunina einu sinni er meira virði en síðdegi af getgátum.
Það þýðir að að bæta heimild við 'reporter'@'%' gæti breytt engu ef lotan auðkenndist sem 'reporter'@'10.90.0.23'. Lagfæringin verður að lenda á röðinni sem var valin, þess vegna kemur auðkenning reikningsins á undan breytingu heimilda.
Lestu reikninginn sem lotan notar í raun
SELECT USER(), CURRENT_USER();
SHOW GRANTS;
CURRENT_USER() nefnir reikninginn sem auðkenndi lotuna; USER() greinir frá því sem biðlarinn bað um og getur verið frábrugðið. Keyrið þær sem venjulegar fyrstu stigs fyrirspurnir, ekki innan vistaðrar rútínu með skilgreiningarsamhengi, annars lýsa svörin eiganda rútínunnar í stað lotunnar þinnar.
Misheppnuð innskráning getur ekki keyrt neitt af þessu, og það er tilvikið þar sem stjórnandi verður að skoða skilgreiningar reikninga og tengingarsönnunargögn þjónsins. Skipuleggið það: sá sem kembir hafnaðri innskráningu hefur venjulega enga SQL-lotu til að spyrja í.
Aðgreinið aðgengi frá auðkenningu
Villutextinn segir þér í hvaða lagi þú ert. Hafnað tenging eða tímalok merkir að biðlarinn náði aldrei hlustanda, svo reikningurinn og lykilorð hans eru ekki enn til umræðu. Svar um synjaðan aðgang merkir að þjónninn svaraði, sem sannar aðgengi og bendir á reikninginn, hýslapörunina eða skírteinin.
Netkerfisskilyrði eru sinn eigin listi: hlustandi bundinn við fyrirhugað aðsetur og ekki aðeins loopback, leyfð umferð til skilgreinds ports og afturleið fyrir svarið. Hvert um sig getur mistekist óháð, og virk göng merkja ekkert þeirra. Hlustandi á loopback tekur við staðbundnum tengingum og hafnar hverri fjartengingu, sem framleiðir hafnaða tengingu sem lítur út eins og eldveggslokun.
Athugið bindiaðsetrið áður en þið opnið miða hjá netteyminu. ss -lntp á gagnagrunnshýslinu sýnir hvaða aðsetur og port eru í raun að hlusta, og sú eina lína útilokar heilan flokk getgáta.
Lagið þröngt og prófið svo báðar áttir
Búið til fyrirhugaðan hýsilhæfan reikning í gegnum samþykkt ferli stofnunarinnar, með skírteini úr studdu geymslunni frekar en sameiginlegu sem límd er í miða. Veitið aðeins þær skemaaðgerðir sem verkefnið þarf. Að breyta misheppnaðri fjartengingu í root-reikning, veita-allt stefnu eða almennt algildishýsil lætur prófið standast og fjarlægir stjórnina sem þið prófuðuð. Heimildin sem þið bættuð við í flýti er sú sem enginn fjarlægir síðar.
Prófið aftur með nýrri lotu eftir fyrirhugaðri leið og athugið svo neikvæðu tilvikin. Leið sem á að vera lokuð verður að vera áfram lokuð, og aðgerð sem var ekki veitt verður að vera áfram synjað. Þessar tvær athuganir aðgreina lagaðan reikning frá víkkuðum.
Að lokum skráið þið séð upprunaaðsetur og reikningsnafn saman. Göngin veita aðgengi; MariaDB velur og heimilar enn sinn eigin reikning, og næsta manneskja þarf báðar staðreyndir til að endurgera niðurstöðuna þína.