PrivateTmp: hook-ak fitxategia idatzi zuen, baina norako joan da?
Aldi baterako izen-espazio pribatu batek fitxategia ezkutatzen du, ezabatzea baino. Egiaztatu prozesuaren erroa unitatea aldatu aurretik, eta gero eman bide erreala partekatutako datuei.
Hook-ek arrakasta jakinarazten dute, eta bide berak hutsik dirudi oraindik shell batetik begiratuta. Bi baieztapenak aldi berean egiazkoak izan daitezke, systemd zerbitzu bat muntaketa-izen-espazio propioan bizi baitaiteke, aldi baterako direktorio pribatu batekin. Hori ulertuta, galdera interesgarria idazketak batere arrakastarik izan zuen ala ez da.
Bi direktorio aldi baterako, bide bakarra
Isolamendu-ezarpenak unitateari aldi baterako direktorioen ikuspegi pribatua ematen dio, irakurtzeko soilik bihurtu beharrean. Unitateaz kanpoko prozesuek ezin dute ikusi han zer idazten duen, eta atzean uzten duen guztia baztertu egiten da unitatea gelditzen denean. Beraz, hook-ak inprimatutako bide batek eta shell batetik egiaztatutako bide batek izen bereko objektu desberdinei erreferentzia egin diezaiekete.
Ikusgaitasun arazoa da, eta datu-galera arazo bat dirudi. Ez da ezer ezabatu, fitxategia shell-aren kide ez den izen-espazio batean dagoelako besterik gabe. Komando berak modu desberdinean jokatzen du unitatearen barruan exekutatzen denean, eta behaketa horrek konpontzen du eztabaida normalean. Irakurri unitatearen ezarpenak idazketari buruz ezer ondorioztatu aurretik.
Bereizi ikusezina idaztezin denetik
Idazketa arrakastatsuak eta irekitze huts egindakoak froga desberdinak ematen dituzte, eta bereizketa horrek konponketa erabakitzen du. Hook-ak fitxategia sortu dela esaten badu, baina kanpoko irakurle batek aurkitzen ez badu, izen-espazio galdera bat duzu. Hook-ak baimen-errore bat edo irekitze huts bat jakinarazten badu, fitxategia ez zen inoiz idatzi eta izen-espazioko aldaketak ez du lagunduko.
systemctl show [email protected] -p PrivateTmp -p User -p Group -p RuntimeDirectory
systemctl show [email protected] -p MainPID --value
sudo ls -l /proc/PID/root/tmp/client-stateProzesuaren erro bideak zerbitzuaren beraren fitxategi-sistemaren ikuspegia erakusten du, prozesu hori oraindik martxan dagoen bitartean haren baimen-egiaztapenen menpe. Irakurri unitatearen egunkaria saio berean, idazketa-errorea eta falta den fitxategia erraz nahasten baitira norbaitek arrazoia jada erabaki duenean.
Eman leku esplizitua partekatutako datuei
Zerbitzuak bakarrik behar dituen datuak haren aldi baterako direktorio pribatuan sartzen dira. Beste prozesu batek irakurri behar dituen datuek biek zehaztutako bidea behar dute, jabaria, modua eta iraungitzea adierazita. Erabaki bi kasuetatik zein duzun unitatea editatu aurretik. Gertakari horietako gehienak fitxategi pribatua partekatu gisa tratatzetik datoz.
[Service]
RuntimeDirectory=openvpn-hook-office
RuntimeDirectoryMode=0750Exekuzio-direktorio batek karpeta sistemaren exekuzio-eremuaren azpian jartzen du, unitatearen erabiltzaile eta talde konfiguratuetarako sortzen du eta unitatea gelditzen denean kentzen du. Gehitu drop-in baten bidez, paketearen unitatea ukitu gabe gera dadin, gero berriro kargatu kudeatzailea eta berrabiarazi instantzia hori, haren bezeroak berriro konektatuko direla onartuta.
Mantendu instalatutako unitateak jada eskatzen duen exekuzio-direktorio oro. Zerrenda ordezkatzea, hari gehitzea baino, aldaketarekin inork lotzen ez duen funtzio bat apurtzeko modu ohikoa da.
Bi pribilegio-maila desados egon daitezke
Zerbitzu-kudeatzaileak direktorioa unitatearen erabiltzaile konfiguratuarentzat sortzen du, eta VPN demonioak bere kontura jaitsi daiteke bereiz, konexio-hook bat exekutatu aurretik. Maila desberdinak dira, eta identitate desberdinak izenda ditzakete.
Root-en jabetzako direktorio bat modu murriztailearekin erabat ikusgai dago pribilegioei jada uko egin dien demonio batentzat, eta hala ere idaztezina da harentzat. Orduan errorea baimen-arazo gisa irakurtzen da, bidea zehazki espero zenuen lekuan badago ere. Konparatu direktorioaren jabea hook-ak jakinarazten duen identitatearekin. Desberdinak direnean, modua ez zen inoiz galdera izan.
Egiaztatu hook-a benetan zein identitaterekin exekutatzen den jabetza aldatu aurretik. Zerbitzuaren exekuzio-erabiltzailea aldatzeak direktorio bat konpontzeko gailuen sarbidea eta sare-pribilegioak beste leku batzuetan alda ditzake, eta hori prezio handia da arazo txiki batentzat.
Egiaztatu eskualdaketa osoa
Berretsi lau gauza aldi berean: hook-ak bere benetako identitatearekin idazten du, aurreikusitako irakurleak fitxategia kontsumi dezake, erlaziorik gabeko erabiltzaileek ezin dute, eta unitatea gelditzeak diseinatu bezala garbitzen du. Fitxategi bat ostalariaren partekatutako aldi baterako direktorioan agertzea ez da baldintza, eta normalean trukeak inoiz bere bidea lortu ez zuela adierazten du. Probatu irakurlea berrabiarazi ondoren, ez lehen exekuzioan soilik. Garbiketa-jokaera diseinuaren parte da, beraz behatu ezazu suposatu beharrean.
Egoera iraunkorra bizitza iraupen egokia duen lekuan sartzen da, exekuzio-direktorioa desagertzeko dago eta. Aukeratu kokapena iraupenaren arabera, erosotasunaren arabera baino. Ohitura horrek ikerketa beraren hurrengo bertsioa saihesten du.