Pretpostavku je lako usvojiti i teško primetiti: VPN kuka za povezivanje radi kao root, pa bi i montiranje koje pokreće trebalo urediti kao root. To zaključivanje stvara timski direktorijum koji korisnik radne površine ne može da otvori, montiranje koje nestane kada se usluga okidača ponovo pokrene, i upit za autentifikaciju u kontekstu u kome niko ne može da odgovori. 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 serveru datoteka su nepovezane sposobnosti i obično pripadaju različitim nalozima. VPN komponenti treba dovoljno privilegija da menja rute i interfejse. Nalogu servera datoteka treba ključ ili lozinka, odluka o ključu hosta i matični direktorijum za montiranje. Predaja akreditiva drugog posla prvom identitetu je način na koji mrežna usluga završi čuvajući korisnikov ključ.

Na laptopu sa jednim korisnikom to može biti isti nalog, 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 poseduje identitet.

Zašto montiranje pripada prijavljenom korisniku

SSHFS montiranje je FUSE montiranje u vlasništvu procesa koji ga je stvorio, a pristup sledi to vlasništvo, a ne režim roditeljskog direktorijuma. Referenca preporučuje običnog korisnika sa tačkom montiranja koju taj korisnik poseduje, i upravo zato je montiranje koje stvori root proces nezgodno za sve ostale. Promena dozvole na tački montiranja to ne popravlja, jer je prepreka sopstveni vlasnik montiranja.

Počnite od ručne osnovne linije unutar korisničke sesije: postojeća prazna tačka montiranja ispod matičnog direktorijuma, ovlašćeni nalog na serveru i ključ hosta koji je već proveren vašim odobrenim postupkom. Montirajte ga ručno jednom i koristite ga, jer to dokazuje da identitetska putanja radi pre nego što postoji ikakva automatizacija. Zabeležite šta je naredbi trebalo: naziv naloga, putanju izvoza i privatno ime hosta. Zadržite taj tačan kontekst za automatizovanu verziju, jer je radno ručno montiranje specifikacija koju okidač mora da reprodukuje.

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

Tretirajte svaki naziv i putanju u tom redu kao rezervisano mesto, uključujući nalog i izvoz. Lozinka VPN naloga nije automatski akreditiv naloga za skladištenje.

Šta okidač treba da zatraži od sesije

Podržani raspored je zahtev od mrežnog događaja do korisničke sesije, a ne pozajmljeni akreditiv. 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 promena sprečava drugi profil, probni tunel ili koleginu sesiju za otklanjanje grešaka da započne montiranje.

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

Ne pokušavajte ponovo pri svakom anketiranju i ne tražite stalno akreditiv dok je server nedostupan, jer oboje pretvaraju kratkotrajni prekid u zaključavanje naloga. Usluga bez nadzora je odvojen dizajn sa sopstvenim odobrenim akreditivima i sopstvenim rasporedom provere hosta u sopstvenom 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 pre nego što odaberete gde kod živi. Većina zabune ovde 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 da dovrši datotečne operacije i odmontira iz sesije korisnika koji montira podržanom naredbom za tu vrstu datotečnog sistema. Prisilno odvajanje da bi se kuka brzo vratila način je na koji aplikacije gube radni direktorijum, a korisnici poverenje 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 optimizuje.

fusermount3 -u "$HOME/mnt/team"

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

Opcija ponovnog povezivanja obnavlja transport, a datoteke otvorene pre tog ponovnog povezivanja još uvek mogu da vraćaju greške i treba ih ponovo otvoriti. 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 namerno ponovno montiranje — i testirajte ga sa datotekama za jednokratnu upotrebu pre nego što išta zavisi od toga.

Povezani članci