Priklopi SSHFS pripadajo uporabniku, ne kljuki VPN
Pravica dvigniti vmesnik ni pravica priklopiti skupno rabo. Dokažite priklop v uporabniški seji ročno, nato pa naj sprožilec zahteva isti kontekst.
Predpostavko je lahko prevzeti in težko opaziti: kljuka povezave VPN teče kot root, zato bi moral biti tudi priklop, ki ga zažene, urejen kot root. Takšno sklepanje ustvari ekipno mapo, ki je uporabnik namizja ne more odpreti, priklop, ki izgine ob ponovnem zagonu sprožilne storitve, in poziv za preverjanje pristnosti v kontekstu, kjer nanj nihče ne more odgovoriti. Kljuka in priklop sta dve različni opravili, in samo eno od njiju potrebuje privilegij.
Mit: omrežne pravice pomenijo pravice za priklop
Dvigniti vmesnik in se preveriti na strežniku datotek sta nepovezani zmožnosti in običajno pripadata različnim računom. Komponenta VPN potrebuje dovolj privilegijev za spreminjanje poti in vmesnikov. Račun strežnika datotek potrebuje ključ ali geslo, odločitev o ključu gostitelja in domačo mapo za priklop. Predaja poverilnic drugega opravila prvi identiteti je pot, po kateri omrežna storitev konča s ključem uporabnika.
Na prenosniku z enim uporabnikom sta to lahko isti račun, in to naključje ni zasnova.
Ko privilegirana kljuka opravi priklop, gre troje stvari tiho narobe. Priklop je v lasti roota, agent uporabnika v tem okolju manjka, in napake se pojavijo v dnevniku omrežne storitve, ne v seji, ki ji je to pomembno. Nič od tega se ne popravi z dodajanjem možnosti ukazu za priklop. Popravi se tako, da se opravilo preda seji, ki ima identiteto.
Zakaj priklop pripada prijavljenemu uporabniku
Priklop SSHFS je priklop FUSE v lasti procesa, ki ga je ustvaril, in dostop sledi tej lastnini, ne načinu nadrejene mape. Referenca priporoča običajnega uporabnika s priklopno točko, ki je v njegovi lasti, in prav zato je priklop, ki ga ustvari proces root, za vse druge neroden. Sprememba dovoljenj na priklopni točki tega ne popravi, ker je ovira lastnik samega priklopa.
Začnite z ročno izhodiščno črto v uporabniški seji: obstoječa prazna priklopna točka pod domačo mapo, pooblaščen račun na strežniku in ključ gostitelja, ki je že preverjen z vašim odobrenim postopkom. Priklopite ga enkrat ročno in ga uporabljajte, ker to dokazuje, da pot identitete deluje, preden obstaja kakršna koli avtomatizacija. Zabeležite, kaj je ukaz potreboval: ime računa, pot izvoza in zasebno ime gostitelja. Ohranite točno ta kontekst za avtomatizirano različico, saj je delujoč ročni priklop specifikacija, ki jo mora sprožilec ponoviti.
sshfs [email protected]:/exports/team "$HOME/mnt/team"Vsako ime in vsako pot v tej vrstici obravnavajte kot nadomestni znak, vključno z računom in izvozom. Geslo računa VPN ni samodejno poverilnica računa shrambe.
Kaj naj sprožilec zahteva od seje
Podprta ureditev je zahteva iz omrežnega dogodka v uporabniško sejo, ne izposojena poverilnica. Omejite sprožilec na povezavo, ki jo mislite, po imenu ali UUID, in ne na kateri koli vmesnik, ki se slučajno imenuje tun0. Ta ena sprememba prepreči drugemu profilu, preskusnemu tunelu ali kolegovi seji za odpravljanje napak, da bi začeli priklop.
Dejanje na strani seje bi moralo poiskati predvideni obstoječi priklop in nato izvesti en omejen poskus.
Ne poskušajte znova ob vsakem poizvedovanju in ne zahtevajte poverilnic, dokler strežnik ni dosegljiv, ker oboje spremeni kratkotrajno motnjo v zaklep računa. Storitev brez nadzora je ločena zasnova z lastnimi odobrenimi poverilnicami in lastnim preverjanjem gostitelja v lastnem izvajalnem kontekstu, in ne more računati na to, da je nekdo odklenil grafičnega agenta. Odločite se, katero od obeh gradite, preden izberete, kje živi koda. Večina zmede tukaj izhaja iz gradnje enega in pričakovanja drugega.
Prekinitev je dogodek datotečnega sistema, ne dogodek kljuke
Načrtovana prekinitev bi morala dokončati datotečne operacije in odklopiti iz seje uporabnika, ki priklaplja, s podprtim ukazom za tisto vrsto datotečnega sistema. Prisilna ločitev, da bi se kljuka hitro vrnila, je pot, po kateri aplikacije izgubijo delovno mapo, uporabniki pa zaupanje v avtomatizacijo. Zaseden priklop potrebuje odločitev na ravni aplikacije, na primer zapreti datoteko ali ustaviti pisanje, ne močnejšega signala. Izstopni status kljuke ni tisto, kar se optimizira.
fusermount3 -u "$HOME/mnt/team"Nepričakovana izguba je drug primer, in SSHFS dokumentira, da se prekinjena operacija lahko blokira, medtem ko se transport znova povezuje.
Možnost ponovnega povezovanja obnovi transport, in datoteke, odprte pred tem ponovnim povezovanjem, lahko še vedno vračajo napake in jih je treba znova odpreti. VPN, ki se vrne, ničesar ne dokazuje o prejšnjih ročajih ali neshranjenem delu. Izberite vedenje, ki ga želite ob motnji — začasna ustavitev, prikaz napake ali nameren ponovni priklop — in ga preizkusite z datotekami za enkratno uporabo, preden je karkoli odvisno od njega.