Den Access Server ignoréiert de post_auth-Skript, deen Dir op der Plack geännert hutt
D’Datei post_auth op der Plack änneren bewierkt näischt: den Access Server féiert d’Kopie aus senger Konfiguratiounsdatebank aus. Follegt dem Entscheidungswee an de sacli-Befehler.
E geännerte mac.py, deen näischt ännert, ass de gewéinleche Sympton. D’Datei op der Plack ass net dat, wat den Access Server ausféiert; den Authentifikatiounsservice luedt de Skript aus der Konfiguratiounsdatebank vum Server, an déi gespäichert Kopie entscheet iwwer eng Umeldung. Bis de gespäicherte Wäert ersat ass, bewäist all Test just, datt deen ale Skript nach funktionéiert.
Dräi Bedéngungen entscheeden d’Aarbecht: ob de Wäert iergendwann an d’Konfiguratiounsdatebank gesat gouf, ob dem Service befohle gouf en nei ze lueden, an ob dee geännerte Code wierklech bei all Verbindung leeft. All een huet en aneren Symptom, an de falschen ze flécken verschwendet eng Maintenance-Fënster.
D’Datei ass eng Quell, net d’lafend Kopie
Den Access Server hält de post-auth-Skript ënner dem Schlëssel auth.module.post_auth_script. D’Datei änneren aktualiséiert just Är Aarbechtskopie. Den Daemon liest de gespäicherte Wäert, dofir bleift d’Ännerung onsichtbar, bis Dir deen ale Bäitrag läscht an d’nei Datei op seng Plaz setzt. Dee gespäicherte Wäert ass déi eenzeg Kopie, déi den Authentifikatiounsservice consultéiert.
Liest en, ier Dir en ännert. Wann en schonn mat der Datei iwwereneestëmmt, déi Dir geännert hutt, ass de Problem net an der Späicherung a gitt op d’Fro vum Ëmfang. Wann en eng eeler Versioun weist, ass d’Ännerung ni beim Service ukomm.
./sacli -k auth.module.post_auth_script ConfigGetErsetzt d’gespäichert Kopie an applikéiert se duerno
Läschen ier Dir schreift ass keng Dekoratioun. ConfigPut mat --value_file ersetzt de Wäert an engem Schrëtt, an ConfigDel fir d’éischt mécht et onméiglech, en ale oder beschiedegte Bäitrag hannerzegeloossen. Späichert eng Kopie vum funktionéierende Skript ausserhalb vum Skriptverzeechnis, ier Dir ufänkt.
./sacli -k auth.module.post_auth_script ConfigDel
# store the file, then apply it
./sacli -k auth.module.post_auth_script --value_file=/root/post_auth.py ConfigPut
./sacli startsacli start applizéiert déi geännert Konfiguratioun op d’intern Servicer, an dat ass wat den neie Skript a Kraaft setzt. Dat ass net datselwecht wéi de ganzen Apparat oder den Daemon nei ze starten, an et sollt net domat ersat ginn, ausser Är Ännerung verlaangt et.
Benotzt en absolute Wee fir d’Wäertdatei a bestätegt, datt root se liese kann. E Wee, dee vun Ärer Shell opgeléist gëtt, awer net vum Servicekont, gëtt e gespäicherte Wäert, deen an ConfigGet richteg ausgesäit an bei der éischter Umeldung feelt. Kontrolléiert de gespäicherte Resultat nach eng Kéier no sacli start, net virdrun.
Modulumfang oder pro Verbindung: wou d’Ufro higeet
Python féiert Aussoen op Modulniveau eemol aus, wann de Skript gelueden gëtt. Dofir liest eng Datebankufro, déi uewen an der Datei steet, d’Tabell beim Lueden a behält déi Äntwert fir all spéider Verbindung. Dat ass den zweeten Grond, firwat eng Ännerung ausgesäit wéi wann se näischt mécht: de Code leeft, awer net wann Dir et erwaart.
Setzt d’Ufro an den post_auth-Handler, sou datt se bei all Authentifikatioun leeft. Behält d’dokumentéiert Ënnerschrëft, passt d’Authentifikatiounsresultat un, dat den Handler kritt, a gitt dat selwecht Objet zréck amplaz eng plakeg Zuel.
Hält d’Verbindungsbehandlung och an den Handler. Eng Verbindung, déi beim Import opgemaach gëtt, kann vum Server zougemaach ginn, ier den éischte Benotzer sech umellt, an de Feeler deen duerno kënnt gesäit aus wéi en ofgeleente Glaubenswäert, net wéi e gebrochene Skript.
Zwéin Oflehnungsweeër, een Eegentemer
Wann d’Entscheedung eng lokal Ufro ass, gehéiert d’Resultat dem Python-Handler. Wann et eng extern HTTP-Kontroll ass, loosst de Austrëttsstatus vum Befehl d’Äntwert droen: en Ëmmantelung, déi mat engem aneren Null-Wäert erausgeet, leent d’Umeldung of, an de Status vum leschte Befehl gëtt de Status vum Skript ouni en expliziten exit.
Hält de Geheimnis aus der Prozesslëscht. Eng Datei, déi root liese kann, oder en Ëmfeldwäert, deen de Service weidergëtt, ass sécherer wéi en Argument, deen all lokale Benotzer aus ps liese kann. Fixéiert den Endpunkt an enger Variabel virum Opruff, sou datt en Tippfeeler bei der Konfiguratioun feelt an net während engem sengem Umeldung. Rotéiert dee Geheimnis esou wéi all anert Authentifikatiounsmëttel.
Wielt een Eegentemer pro Kontroll. E Skript, deen d’Datebank freet an och en HTTP-Service rufft, brauch eng deklaréiert Prioritéitsregel fir de Fall, wou déi zwou sech widderspriechen, soss passt den Oflehnungsgrond am Log net zu deem, wat dem Benotzer gesot gouf.
Applikéiert et ouni den Administrateur auszespären
Zwou Sécherungen maachen d’Ännerung ëmdréibar: en zweeten Admin-Kont, deen net vum Skript ofhänkt, an eng bekannt gutt Kopie, déi ausserhalb vum Skriptverzeechnis versuergt gëtt. Applikéiert d’Ännerung an enger Maintenance-Fënster an observéiert duerno eng Testumeldung an eng bewosst Oflehnung, ier Dir Iech trennt. Wann de Log eng Syntaxfeeler weist amplaz enger Authentifikatiounsentscheedung, ass de gespäicherte Skript futti a all Umeldung wäert feelen.
Zwou Bedéngungen soe waarden: Dir kënnt d’Wäertdatei net als root liesen, oder Dir hutt keen zweeten Zougang zum Administratiounsinterface. Béid maache vun enger klenger Ännerung eng Ausspärung, an keng dovun ass et wäert, se um Enn vum Dag op engem Produktiounsserver ze testen. D’Dokumentatioun vum Access Server deckt de post-auth-Interface an seng ënnerstëtzte Felder of.