SSHFS-monteringar høyrer til brukaren, ikkje VPN-kroken
Retten til å heve eit grensesnitt er ikkje retten til å montere ei delt ressurs. Prov monteringa i brukarsesjonen manuelt, og la deretter utløysaren be om same kontekst.
Føresetnaden er lett å ta til seg og vanskeleg å leggje merke til: ein VPN-tilkoplingskrok køyrer som root, så monteringa han startar bør òg ordnast som root. Den resonnementet gir ei teammappe skrivebordsbrukaren ikkje kan opne, ei montering som forsvinn når utløysartenesta startar på nytt, og ei autentiseringsforespurnad i ein kontekst der ingen kan svare på ho. Kroken og monteringa er to ulike jobbar, og berre éin av dei treng rettar.
Myta: nettverksrettar betyr monteringsrettar
Å heve eit grensesnitt og autentisere mot ein filserver er uavhengige evner, og dei høyrer vanlegvis til ulike kontoar. VPN-komponenten treng nok rettar til å endre ruter og grensesnitt. Filserverkontoen treng ein nøkkel eller eit passord, ei avgjerd om vertsnøkkelen og ei heimemappe å montere i. Å gje den andre jobben sin legitimasjon til den første identiteten er måten ei nettverksteneste endar med å halde på nøkkelen til ein brukar.
På ein laptop med éin brukar kan det vere same kontoen, og den tilfeldigheita er ikkje eit design.
Når ein privilegert krok først gjer monteringa, går tre ting stille gale. Monteringa er eigd av root, agenten til brukaren manglar i det miljøet, og feil viser seg i loggen til nettverkstenesta i staden for i sesjonen som bryr seg. Ingen av dei blir reparerte ved å leggje til val i monteringskommandoen. Dei blir reparerte ved å gje jobben til sesjonen som eig identiteten.
Kvifor monteringa høyrer til den innlogga brukaren
Ei SSHFS-montering er ei FUSE-montering som er eigd av prosessen som oppretta ho, og tilgang følgjer det eigarskapet i staden for modusen til overordna mappe. Referansen tilrår ein vanleg brukar med eit monteringspunkt som brukaren eig, og det er nettopp derfor ei montering oppretta av ein root-prosess er ubekvem for alle andre. Ei løyvesendring på monteringspunktet reparerer det ikkje, fordi hindringa er eigenaren av monteringa sjølv.
Start med ei manuell grunnlinje inne i brukarsesjonen: eit eksisterande tomt monteringspunkt under heimemappa, ein autorisert konto på serveren og ein vertsnøkkel som allereie er verifisert gjennom den godkjende prosessen din. Monter det manuelt éin gong og bruk det, fordi det provar at identitetsvegen verkar før noka automatisering finst. Noter kva kommandoen trongde: kontonamnet, eksportstien og det private vertsnamnet. Hald på nøyaktig den konteksten for den automatiserte versjonen, sidan ei fungerande manuell montering er spesifikasjonen utløysaren må gjenskape.
sshfs [email protected]:/exports/team "$HOME/mnt/team"Behandle kvart namn og kvar sti på den linja som ein plasshaldar, inkludert kontoen og eksporten. Eit VPN-kontopassord er ikkje automatisk legitimasjonen til lagringskontoen.
Kva utløysaren bør be sesjonen om å gjere
Den støtta ordninga er ein førespurnad frå nettverkshendinga til sesjonen til brukaren, ikkje legitimasjon som er lånt. Avgrens utløysaren til tilkoplinga du meiner, ved namn eller UUID, i staden for til eit kva som helst grensesnitt som tilfeldigvis heiter tun0. Den eine endringa hindrar ein annan profil, ein testtunnel eller ein feilsøkingssesjon hjå ein kollega i å starte ei montering.
Handlinga på sesjonssida bør leite etter den tiltenkte eksisterande monteringa og deretter gjere eitt avgrensa forsøk.
Ikkje prøv på nytt ved kvar avstemming, og ikkje hald fram med å be om legitimasjon medan serveren er utilgjengeleg, fordi begge gjer ein forbigåande avbrott til ei kontolåsing. Ei overvaka teneste er eit separat design med eigen godkjend legitimasjon og eigen vertsverifisering i sin eigen køyringskontekst, og ho kan ikkje rekne med at nokon har låst opp ein grafisk agent. Bestem kva av dei to du byggjer før du vel kvar koden bur. Det meste av forvirringa her kjem av å byggje den eine og vente på den andre.
Fråkopling er ei filsystemhending, ikkje ei krokhending
Ei planlagd fråkopling bør fullføre filoperasjonar og avmontere frå sesjonen til den monterande brukaren med den støtta kommandoen for den filsystemtypen. Å tvinge ei avkopling for at ein krok skal kome raskt tilbake er måten program misser arbeidskatalogen sin og brukarar misser tillita til automatiseringa. Ei oppteken montering treng ei avgjerd på programnivå, som å lukke fila eller stoppe skrivinga, ikkje eit sterkare signal. Utløysaren sin exitstatus er ikkje det som blir optimalisert.
fusermount3 -u "$HOME/mnt/team"Uventa tap er eit anna tilfelle, og SSHFS dokumenterer at ein avbroten operasjon kan blokkere medan transporten koplar til på nytt.
Gjenoppkoplingvalet gjenopprettar transporten, og filer som vart opna før den gjenoppkoplinga kan framleis returnere feil og må opnast på nytt. Ein VPN som kjem tilbake provar ingenting om tidlegare handtak eller ulagra arbeid. Vel åtferda du vil ha ved eit avbrott — pause, vise ein feil eller medvite montere på nytt — og test ho med eingongsfiler før noko avheng av ho.