De VPN-Client brauch privilegiéiert Hëllef, fir d’Netzwierk nei ze konfiguréieren, an dës Tatsaach gëtt ze breet op alles ronderëm ugewannt. E Skript, dat eng Dateifräigab abënnt, brauch kee root, well d’Fräigab zur Sëtzung vum ugemellte Benotzer a sengen Umeldungsdaten gehéiert. D’Abannen aus dem privilegiéierte Wee erauszehuelen eliminéiert d’Notwendegkeet vu sudo-Reegelen, root-Hooks an Ännerungen un de Matgeliwwerten. Wat bleift, ass e klengt Applet, dat op bleift, een Profil iwwerwaacht an een Versuch mécht.

Firwat dat an d’Benotzersëtzung gehéiert

En agename Volume ass eng Eegeschaft vun der Sëtzung, déi en agename huet. D’Sëtzung vun engem anere Benotzer gesäit en net, an eng Abannung déi root gehéiert, verhält sech anescht wéi déi, déi de Finder gemaach huet. D’Abannung an der Benotzersëtzung ze loossen, erhält déi Semantik.

Privilegiéiert Hëllefsmëttel ginn et fir déi Deeler, déi se wierklech brauchen: eng Tunnelschnittstell uleeën, Routen änneren, de Resolver aktualiséieren. Eng SMB-Fräigab abannen ass keen vun dësen Deeler. En esou ze behandelen, wéi wann et esou wier, forcéiert eng Wiel tëscht sudo ouni Passwuert an engem root-Skript, deen leeft, wann keen do ass. Béides ass e gréissere Risiko wéi de Problem et justifiéiert, an den Usaz iwwer d’Benotzersëtzung vermeit d’Wiel komplett.

D’eegen Verbindungs-Hooks vum Tunnelblick sinn hei keen Ersatz, well se baussent der Desktop-Sëtzung lafen an hir Reiefolleg vis-à-vis vun de Skripte vum Client net definéiert ass. Den Zoustand vun engem Benotzer-Applet aus ofzefroen ass e méi klengen Mechanismus mat manner Annahmen.

Beweist éischt vun Hand, datt d’Fräigab funktionéiert

Automatiséierung kann keng Route, keng Berechtegung a kee Kont beräitstellen, déi et net gëtt. Verbann de VPN manuell an op d’Fräigab am Finder, ier s du e Skript schreifs. Wann dat feelt, wäert d’Skript op eng méi verwirrend Manéier feelen.

Notéier déi dräi Wäerter, déi d’Skript wäert benotzen: den Profilnumm genee esou wéi den Tunnelblick en opzielt, d’Fräigab-URL an den Volume-Numm, deen de Finder no dem Abannen weist. Den Volume-Numm ass wichteg, well d’Kontroll fir eng bestoend Abannung en benotzt, an eng Kontroll nëmmen iwwer den Numm ass e Komfortschutz, keen Beweis fir d’Identitéit vum Server. Benotz en Numm, deen um Rechner eenzegaarteg ass. Bestätegt duerno, datt de Server iwwerhaapt äntwert.

smbutil view //files.corp.example
osascript -e 'tell application "Tunnelblick" to get state of first configuration whose name is "Office"'
mount | grep -i smbfs

Den éischte Kommando beweist, datt de Server äntwert, den zweeten, datt den Profilnumm opgeléist gëtt, an den drëtten weist, wéi eng erfollegräich Abannung ausgesäit. Halt all dräi fest, ier s du eppes automatiséiers.

Den Profilzoustand aus dem Tunnelblick liesen

Den Tunnelblick stellt seng Konfiguratiounen an hire Zoustand iwwer AppleScript bereet, an dat ass den eenzegen Hook, deen dëst Design brauch. Den Zoustand, op deen et ukënnt, ass d’Zeechenketten, déi fir genee dee Profil gemellt gëtt, net d’Präsenz vun der Applikatioun.

D’Ofroe huet Konsequenzen, déi et wäert sinn ze nennen. Eng Widderverbindung, déi méi kuerz wéi den Intervall ass, kann onbemierkt virugoe, an d’Applet gesäit den Iwwergang guer net. Dat ass akzeptabel fir eng Abannungswaach an onakzeptabel fir eppes, wat op all Evenement muss reagéieren. Wann s du Evenementskonsequenz brauchs, ass dëst de falsche Mechanismus, net e Mechanismus, deen eng méi kuerz Timer brauch. Wielt den Intervall mat dësem Kompromëss am Kapp.

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

Exportéier en als Applikatioun mat der Optioun op ze bleiwen, a start en duerno an der ugemellter Sëtzung amplaz iwwer sudo.

Eng Kéier abannen, dann ophalen ze probéieren

D’Probit-Flag ass et, wat verhënnert, datt dat eng Schleif gëtt, déi Umeldungsdaten errät. Soubal d’Applet probéiert huet, waart et, bis de Verbindungszoustand sech ännert, ier et erëm probéiert.

Dee Verhalen ass bewosst. Eng Fräigab, déi d’Abannung verweigert, verweigert se meeschtens aus engem Grond, deen en neien Versuch net ka beheben, an déi widderholl Versich maachen aus enger Ufro eng Rei dovu. D’Flag gëtt zréckgesat, wann de Profil den verbonnene Zoustand verléisst, sou datt eng richteg Widderverbindung genee een neie Versuch gëtt. D’Applet ofschléissen an nei starten setzt en och zréck, an dat ass déi manuell Iwwersteierung. Keen vun de Weeër verstoppt e Fehler; béid loossen en am Finder sichtbar.

D’Skript dréit kee Passwuert, an dat soll esou bleiwen. Looss d’Abannungsoperatioun froen, a looss de Schlësselbund maachen, wat d’Organisatioun ënnerstëtzt. En Umeldungsdatum an eng URL anzebauen mécht aus engem Komfortskript e Geheimnis, dat muss gerotéiert ginn.

Wat den Hëllefsmëttel net ka

Dräi Limiten ass et wäert, nieft dem Applet ze schreiwen. Et kann en besueten Volume no engem Netzwierkfehler net auswerfen, et kann net garantéieren, datt DNS an de Server bereet sinn, wann den Zoustand verbonnen seet, an et reagéiert net op all Widderverbindung.

Déi éischt Limit ass an der Praxis am wichtegsten. Eng Fräigab, deenen hire Server verschwënnt, léisst e Volume, deen aben ausgesäit a beim Zougriff blockéiert, an déi héiflech Léisung ass, Dateioperatiounen ofzeschléissen an virun enger geplangter Trennung auszewerfen. Déi zweet erkläert déi meescht feelgeschloen éischt Versich: den Tunnel steet, während de Resolver nach net nogezu war, also waart a bann dann eng Kéier vun Hand, fir et ze bestätegen. Déi drëtt ass de Kompromëss bei der Ofroe vun virdrun, keen Fehler dee repariéiert muss ginn.

Fir en onbewaachten Rechner oder eng verwalt Flott ass dëst Design déi falsch Form. Benotz eng Abannungsrichtlinie, déi dem Administrateur gehéiert, amplaz en Desktop-Applet zu engem privilegiéierte Service auszebauen.

Ähnlech Artikelen