Immuntja sehem minn Tunnelblick mingħajr ma taħdem bħala root
AppleScript li jibqa’ miftuħ jista’ jissorvelja profil wieħed ta’ Tunnelblick u jimmuntja sehem SMB bħala l-utent illoggjat, mingħajr hook ta’ root jew sudo mingħajr password.
Il-klijent VPN jeħtieġ għajnuna privileġġjata biex jerġa’ jikkonfigura n-netwerk, u dan il-fatt jiġi applikat wisq wiesgħa għal kollox madwaru. Script li jimmuntja sehem ta’ fajls m’għandux bżonn root, għax is-sehem jappartjeni għas-sessjoni tal-utent illoggjat u għall-kredenzjali ta’ dak l-utent. It-tneħħija tal-immuntar mill-passa privileġġjata tneħħi l-bżonn ta’ regoli sudo, hooks ta’ root u modifiki fl-applikazzjonijiet fornuti. Li jibqa’ huwa applet żgħir li jibqa’ miftuħ, jissorvelja profil wieħed u jagħmel tentattiv wieħed.
Għalfejn dan jappartjeni għas-sessjoni tal-utent
Volum immuntjat huwa proprjetà tas-sessjoni li mmuntjah. Is-sessjoni ta’ utent ieħor ma tarahx, u immuntar proprjetà ta’ root iġib ruħu b’mod differenti minn dak li ħoloq il-Finder. Li żżomm l-immuntar fis-sessjoni tal-utent tippreserva dik is-semantika.
L-għajnuna privileġġjata teżisti għall-partijiet li verament jeħtieġuha: il-ħolqien ta’ interface tat-tunnel, it-tibdil tar-rotot, l-aġġornament tar-resolver. L-immuntar ta’ sehem SMB mhuwiex waħda minn dawk il-partijiet. Li tittrattah bħallikieku kien iġiegħlek tagħżel bejn sudo mingħajr password u script ta’ root li jaħdem meta ma jkunx hemm ħadd. It-tnejn huma riskji akbar milli jiġġustifika l-problema, u l-approċċ tas-sessjoni tal-utent jevita l-għażla għal kollox.
Il-hooks tal-konnessjoni ta’ Tunnelblick stess mhumiex sostitut hawn, għax jaħdmu barra s-sessjoni tad-desktop u l-ordni tagħhom fir-rigward tal-scripts tal-klijent mhuwiex definit. Li tistaqsi l-istat minn applet tal-utent huwa mekkaniżmu iżgħar bi ftit inqas suppożizzjonijiet.
Ipprova l-ewwel bl-idejn li s-sehem jaħdem
L-awtomatizzazzjoni ma tistax tipprovdi rotta, permess jew kont li ma jeżistix. Qabbad il-VPN manwalment u iftaħ is-sehem fil-Finder qabel ma tikteb xi script. Jekk dan ifalli, is-script se jfalli b’mod aktar konfuż.
Innota t-tliet valuri li se juża s-script: l-isem tal-profil eżattament kif jelenkah Tunnelblick, l-URL tas-sehem u l-isem tal-volum li juri l-Finder wara l-immuntar. L-isem tal-volum huwa importanti għax il-verifika ta’ immuntar eżistenti tużah, u verifika biss fuq l-isem hija gwardja ta’ kumdità, mhux prova tal-identità tas-server. Uża isem li huwa uniku fuq il-magna. Imbagħad ikkonferma li s-server iwieġeb xejn xejn.
smbutil view //files.corp.example
osascript -e 'tell application "Tunnelblick" to get state of first configuration whose name is "Office"'
mount | grep -i smbfs
L-ewwel kmand jipprova li s-server iwieġeb, it-tieni li l-isem tal-profil jiġi riżolt, u t-tielet juri kif jidher immuntar li rnexxa. Irreġistra t-tlieta qabel ma tawtomatizza xejn.
Aqra l-istat tal-profil minn Tunnelblick
Tunnelblick jesponi l-konfigurazzjonijiet tiegħu u l-istati tagħhom permezz ta’ AppleScript, u dan huwa l-uniku hook li jeħtieġ dan id-disinn. L-istat li jimpurtah huwa l-string rapportat għal dak il-profil preċiż, mhux il-preżenza tal-applikazzjoni.
It-tistaqsija għandha konsegwenzi li jistħoqqilhom jissemmew. Rikonnessjoni iqsar mill-intervall tista’ tgħaddi mingħajr ma tintebaħ, u l-applet ma tarax it-tranżizzjoni xejn. Dan huwa aċċettabbli għal gwardja ta’ immuntar u mhux aċċettabbli għal xi ħaġa li trid tirreaġixxi għal kull avveniment. Jekk għandek bżonn fidelità tal-avvenimenti, dan huwa l-mekkaniżmu ħażin, mhux mekkaniżmu li jeħtieġ timer iqsar. Agħżel l-intervall b’dan il-kompromess f’moħħok.
property attempted : false
on idle
set profileName to "Office"
set shareURL to "smb://files.corp.example/OfficeTeam"
set volName to "OfficeTeam"
tell application "Tunnelblick" to set vpnState to state of first configuration whose name is profileName
if vpnState is not "CONNECTED" then
set attempted to false
return 20
end if
tell application "Finder" to set mounted to (exists disk volName)
if (not mounted) and (not attempted) then
set attempted to true
try
mount volume shareURL
end try
end if
return 20
end idle
Esportah bħala applikazzjoni bl-għażla li jibqa’ miftuħ, imbagħad nedih fis-sessjoni illoggjata minflok permezz ta’ sudo.
Immuntja darba, imbagħad waqaf milli tipprova
Il-flag tat-tentattiv huwa dak li jżomm dan milli jsir ċiklu li jaqta’ l-kredenzjali. Ladarba l-applet ikun ipprova, jistenna li l-istat tal-konnessjoni jinbidel qabel ma jerġa’ jipprova.
Dan l-imġieba huwa intenzjonat. Sehem li jirrifjuta l-immuntar normalment jirrifjutah għal raġuni li tentattiv ġdid ma jistax isewwi, u tentattivi ripetuti jibdlu talba waħda fi fluss tagħhom. Il-flag jerġa’ jiġi stabbilit meta l-profil iħalli l-istat konness, u għalhekk rikonnessjoni vera tipproduċi eżattament tentattiv ġdid wieħed. Li toħroġ u terġa’ tniedi l-applet jerġa’ jistabbilixxih ukoll, u dik hija s-soluzzjoni manwali. L-ebda waħda miż-żewġ toroq ma taħbi falliment; it-tnejn iħalluh viżibbli fil-Finder.
Is-script ma jġorr l-ebda password, u għandu jibqa’ hekk. Ħalli l-operazzjoni tal-immuntar tistaqsi, u ħalli l-keychain tagħmel dak li tappoġġja l-organizzazzjoni. Li tinkorpora kredenzjali f’URL jibdel script ta’ kumdità fi sigriet li jrid jiġi rrotat.
X’ma jistax jagħmel l-għajnuna
Tliet limiti jistħoqqilhom jinkitbu ħdejn l-applet. Ma jistax ikeċċi volum impjegat wara falliment tan-netwerk, ma jistax jiggarantixxi li d-DNS u s-server huma lesti meta l-istat jgħid konness, u ma jirreaġixxix għal kull rikonnessjoni.
L-ewwel limitu huwa l-aktar importanti fil-prattika. Sehem li s-server tiegħu jisparixxi jħalli volum li jidher immuntjat u jimblokka fl-aċċess, u l-korrezzjoni edukata hija li tlesti l-operazzjonijiet tal-fajls u tkeċċi qabel skonnessjoni ppjanata. It-tieni jispjega l-biċċa l-kbira tal-ewwel tentattivi falluti: it-tunnel huwa mwaqqaf waqt li r-resolver għadu ma laħaqx, għalhekk stenna u mbagħad immuntja darba bl-idejn biex tikkonferma. It-tielet huwa l-kompromess tat-tistaqsija ta’ qabel, mhux bug li jrid jiġi ssettjat.
Għal magna mingħajr sorveljanza jew flotta amministrata, dan id-disinn għandu l-forma ħażina. Uża politika tal-immuntar proprjetà tal-amministratur minflok ma testendi applet tad-desktop f’servizz privileġġjat.