Pretpostavku je lako usvojiti i teško primijetiti: VPN kuka za povezivanje radi kao root, pa bi i montiranje koje pokreće trebalo urediti kao root. To zaključivanje stvara timski direktorij koji desktop korisnik ne može otvoriti, montiranje koje nestane kada se usluga okidača ponovo pokrene, i upit za autentifikaciju u kontekstu u kojem niko ne može odgovoriti. Kuka i montiranje su dva različita posla, a samo jednom od njih trebaju privilegije.

Mit: mrežne privilegije znače privilegije za montiranje

Podizanje interfejsa i autentifikacija na datotečnom serveru su nepovezane sposobnosti i obično pripadaju različitim računima. VPN komponenti treba dovoljno privilegija da mijenja rute i interfejse. Računu datotečnog servera treba ključ ili lozinka, odluka o ključu hosta i matični direktorij za montiranje. Predaja vjerodajnica drugog posla prvom identitetu je način na koji mrežna usluga završi čuvajući korisnikov ključ.

Na laptopu s jednim korisnikom to može biti isti račun, a ta slučajnost nije dizajn.

Kada privilegovana kuka obavi montiranje, tri stvari tiho krenu po zlu. Montiranje je u vlasništvu roota, korisnikov agent nije prisutan u tom okruženju, a greške se pojavljuju u dnevniku mrežne usluge, a ne u sesiji kojoj je stalo. Ništa od toga se ne popravlja dodavanjem opcija naredbi za montiranje. To se popravlja davanjem posla sesiji koja posjeduje identitet.

Zašto montiranje pripada prijavljenom korisniku

SSHFS montiranje je FUSE montiranje u vlasništvu procesa koji ga je stvorio, a pristup slijedi to vlasništvo, a ne način rada matičnog direktorija. Referenca preporučuje običnog korisnika s tačkom montiranja koju taj korisnik posjeduje, i upravo zato je montiranje koje stvori root proces nezgodno za sve ostale. Promjena dozvole na tački montiranja to ne popravlja, jer je prepreka vlastiti vlasnik montiranja.

Počnite od ručne osnovne linije unutar korisničke sesije: postojeća prazna tačka montiranja ispod matičnog direktorija, ovlašteni račun na serveru i ključ hosta koji je već provjeren vašim odobrenim procesom. Montirajte ga ručno jednom i koristite ga, jer to dokazuje da identitetska putanja radi prije nego što postoji ikakva automatizacija. Zabilježite šta je naredbi trebalo: naziv računa, putanju izvoza i privatno ime hosta. Zadržite taj tačan kontekst za automatiziranu verziju, jer je radno ručno montiranje specifikacija koju okidač mora reproducirati.

sshfs [email protected]:/exports/team "$HOME/mnt/team"

Tretirajte svaki naziv i putanju u tom redu kao rezervirano mjesto, uključujući račun i izvoz. Lozinka VPN računa nije automatski vjerodajnica računa za pohranu.

Šta okidač treba da zatraži od sesije

Podržani raspored je zahtjev od mrežnog događaja do korisničke sesije, a ne posuđena vjerodajnica. Ograničite okidač na vezu koju mislite, po imenu ili UUID-u, a ne na bilo koji interfejs koji se slučajno zove tun0. Ta jedna promjena sprječava drugi profil, probni tunel ili koleginu sesiju za otklanjanje grešaka da započne montiranje.

Radnja na strani sesije treba potražiti predviđeno postojeće montiranje, a zatim napraviti jedan ograničen pokušaj.

Ne pokušavajte ponovo pri svakom anketiranju i ne tražite stalno vjerodajnicu dok je server nedostupan, jer oboje pretvaraju kratkotrajni prekid u zaključavanje računa. Usluga bez nadzora je odvojen dizajn s vlastitim odobrenim vjerodajnicama i vlastitim rasporedom provjere hosta u vlastitom kontekstu izvršavanja, i ne može se oslanjati na to da je neko otključao grafički agent. Odlučite koje od dva gradite prije nego što odaberete gdje kod živi. Većina zabune ovdje dolazi od toga da se gradi jedno, a očekuje drugo.

Prekid veze je događaj datotečnog sistema, a ne događaj kuke

Planirani prekid treba dovršiti datotečne operacije i odmontirati iz sesije korisnika koji montira podržanom naredbom za tu vrstu datotečnog sistema. Prisilno odvajanje da bi kuka brzo vratila je način na koji aplikacije gube radni direktorij, a korisnici povjerenje u automatizaciju. Zauzeto montiranje treba odluku na nivou aplikacije, poput zatvaranja datoteke ili zaustavljanja upisa, a ne jači signal. Izlazni status kuke nije stvar koja se optimizira.

fusermount3 -u "$HOME/mnt/team"

Neočekivani gubitak je drugi slučaj, a SSHFS dokumentira da prekinuta operacija može blokirati dok se transport ponovo povezuje.

Opcija ponovnog povezivanja obnavlja transport, a datoteke otvorene prije tog ponovnog povezivanja još uvijek mogu vraćati greške i trebati ponovno otvaranje. VPN koji se vrati ne dokazuje ništa o ranijim ručkama ili nesačuvanom radu. Odaberite ponašanje koje želite pri prekidu — pauziranje, prikaz greške ili namjerno ponovno montiranje — i testirajte ga s datotekama za jednokratnu upotrebu prije nego što išta ovisi o tome.

Povezani članci