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 korisnik radne površine ne može otvoriti, montiranje koje nestane kad se usluga okidača ponovno pokrene, i upit za autentifikaciju u kontekstu u kojem nitko ne može odgovoriti. Kuka i montiranje dva su različita posla, a samo jednome od njih trebaju privilegije.

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

Podizanje sučelja i autentifikacija na poslužitelju datoteka nepovezane su sposobnosti i obično pripadaju različitim računima. VPN komponenti treba dovoljno privilegija za promjenu ruta i sučelja. Računu poslužitelja datoteka treba ključ ili lozinka, odluka o ključu hosta i matični direktorij za montiranje. Predaja vjerodajnica drugog posla prvom identitetu način je na koji mrežna usluga završi čuvajući korisnikov ključ.

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

Kad privilegirana kuka obavi montiranje, tri stvari tiho pođu 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 se od toga 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 roditeljskog direktorija. Referenca preporučuje običnog korisnika s točkom montiranja koju taj korisnik posjeduje, i upravo zato je montiranje koje stvori root proces nezgodno za sve ostale. Promjena dozvole na toč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 točka montiranja ispod matičnog direktorija, ovlašteni račun na poslužitelju i ključ hosta koji je već provjeren vašim odobrenim postupkom. Montirajte ga ručno jednom i koristite ga, jer to dokazuje da identitetska putanja radi prije nego što postoji ikakva automatizacija. Zabilježite što je naredbi trebalo: naziv računa, putanju izvoza i privatno ime hosta. Zadržite taj toč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 retku kao rezervirano mjesto, uključujući račun i izvoz. Lozinka VPN računa nije automatski vjerodajnica računa za pohranu.

Što okidač treba zatražiti 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 koje sučelje koje se slučajno zove tun0. Ta jedna promjena sprječava drugi profil, probni tunel ili koleginu sesiju za otklanjanje pogreš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 ponovno pri svakom anketiranju i ne tražite stalno vjerodajnicu dok je poslužitelj nedostupan, jer oboje pretvaraju kratkotrajni prekid u zaključavanje računa. Usluga bez nadzora odvojen je 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 netko otključao grafički agent. Odlučite koje od dva gradite prije nego što odaberete gdje kod živi. Većina zbrke ovdje dolazi od toga da se gradi jedno, a očekuje drugo.

Prekid veze događaj je datotečnog sustava, 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 sustava. Prisilno odvajanje da bi se kuka brzo vratila način je na koji aplikacije gube radni direktorij, a korisnici povjerenje u automatizaciju. Zauzeto montiranje treba odluku na razini 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 drugi je slučaj, a SSHFS dokumentira da prekinuta operacija može blokirati dok se transport ponovno 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