VPN-knappen verkar for administratoren og feilar for alle andre, så nokon legg til ei linje i sudoers. Den linja lever vanlegvis lenger enn problemet ho skulle løyse, og ho gir ofte meir enn knappen treng. Før du redigerer policyen, sjekk om den støtta eigaren av tilkoplinga allereie kan gjere jobben. Dei tre vilkåra nedanfor avgjer om sudo er involvert i det heile teke.

Vilkår 1: den støtta eigaren kan gjere det utan sudo

På dei fleste Linux-skrivebord eig nettverkshandsamaren allereie VPN-tilkoplingar, og autorisasjonen går via polkit i staden for sudo. Ein brukar som har lov til å heise ei tilkopling kan gjere det frå kommandolinja utan nokon root-regel. Sjekk kva handsamaren tillèt før du går ut frå at knappen treng privilegium. Viss svaret er ja, løyser sudoers-endringa eit problem som ikkje finst.

nmcli connection show
nmcli connection up "Work VPN"

Viss handsamaren nektar, les kvifor: ein manglande polkit-regel, ei tilkopling eigd av ein annan brukar eller ein profil lagra der brukaren ikkje kan lese han. Kvar av desse har ei støtta løysing som er smalare enn ein sudo-regel. Privilegieheving er det siste middelet, ikkje det første.

Vilkår 2: regelen namngir éi køyrbar fil og argumenta hennar

Viss sudo verkeleg er nødvendig, bør regelen namngi den nøyaktige kommandoen og, der det er mogleg, argumenta han kan bruke. Ein regel som lèt ein brukar køyre eit innpakkingsskript er berre så trygg som rettane til det skriptet, fordi brukaren kan redigere det root skal køyre. Ein regel med eit jokerteikn etter kommandoen er det same problemet i kortare form.

sudo -l -U alice
ls -l /usr/local/sbin/vpn-up

Kontroller kvar sti i kommandokjeda: binæren, skriptet han kallar, konfigurasjonsfila han les og kvar mappe imellom. Viss brukaren kan skrive til nokon av dei, er den avgrensa regelen i praksis ubegrensa root. Argument tel òg, fordi ein kommando som godtek ein konfigurasjonssti kan rettast mot ei fil brukaren kontrollerer. Skriv regelen for operasjonen, ikkje for knappen.

Stopp viss kommandoen treng ei brukarkontrollert fil for å verke. Då er designet feil, og ingen sudoers-syntaks gjer det trygt.

Vilkår 3: heile policyen blir parsa, ikkje berre linja di

Valider med editoren som låser fila og kontrollerer syntaks, og valider den samansette policyen i staden for eit fragment. Ei fil som blir parsa åleine kan framleis bryte inkluderingsrekkjefølgja eller duplisere ein regel på ein måte som endrar åtferd.visudo-handboka dokumenterer både den låsande editoren og kontrollmodusen som blir brukt her.

sudo visudo -c
sudo visudo -cf /etc/sudoers.d/vpn-launcher

Kontrollen rapporterer fila og linja når han feilar, og nettopp den rapporten er den nyttige delen. Reparer den tiltenkte endringa gjennom editoren i staden for å tvinge gjennom ein kjend feil, fordi ein øydelagd policy kan låse ute alle administratorar samstundes. Filer i inkluderingsmappa treng òg eigarskapen og modusen som handboka krev, elles blir dei ignorerte eller avviste. Syntaks er berre den første porten: når han er passert, les regelen på nytt og spør kva han faktisk tillèt.

Stopp viss den einaste måten å få endringa til å verke er å slå av syntakskontrollen. Det er ikkje ein policy, det er eit driftsavbrot som ventar på omstart.

Gjenoppretting: hald på ei økt som framleis verkar

Før du lagrar, sørg for at ei autorisert administrativ økt allereie er open og at det finst ein andre veg inn i maskina. Ein sudoers-feil kan ta frå deg moglegheita til å rette han, og ein skrivebordsknapp er ikkje den risikoen verd. Viss sudo allereie er øydelagd, bruk den dokumenterte gjenopprettingsvegen til systemet i staden for å improvisere ein.

sudo -n true
id

Alternativ som pkexec er avhengige av eigen installasjon og policy, så dei er ikkje ein garantert andre root-førespurnad. Hald lokal autorisasjon skilt frå levering av VPN-hemmelegheita òg: ein sudo-regel kan ikkje låse opp ein fråverande hemmelegheitsagent, og han oppfyller ikkje MFA-en til gatewayen. Etter rettinga, test den vanlege kontoen som berre utfører den tiltenkte operasjonen, og bruk deretter dei vanlege kontrollane til handsamaren.

Avgjerda sluttar når du kan seie kva vilkår som rettferdiggjorde sudo, kva regelen namngir, at heile policyen blir parsa, og korleis du ville gjenoppretta om ikkje. Ein privilegert startar som kostar deg administrativ tilgang er ein dårleg handel, og han er vanlegvis unngåeleg.

Relaterte artiklar