A VPN gomb a rendszergazdának működik, mindenki másnál elbukik, ezért valaki hozzáad egy sort a sudoers-hez. Az a sor általában túléli a problémát, amit meg kellett volna oldania, és gyakran többet ad, mint amire a gombnak szüksége van. Mielőtt szerkeszti a házirendet, ellenőrizze, hogy a támogatott kapcsolattulajdonos már el tudja-e végezni a munkát. Az alábbi három feltétel dönti el, hogy egyáltalán szerepel-e a sudo.

1. feltétel: a támogatott tulajdonos sudo nélkül is meg tudja tenni

A legtöbb Linux asztalon a hálózatkezelő már a VPN-kapcsolatok tulajdonosa, és az engedélyezése a sudo helyett a polkiton keresztül megy. Egy felhasználó, akinek engedélye van kapcsolatot felhozni, ezt a parancssorból root-szabály nélkül is megteheti. Ellenőrizze, mit enged a kezelő, mielőtt feltételezi, hogy a gombnak jogosultság kell. Ha a válasz igen, akkor a sudoers-módosítás egy nem létező problémát old meg.

nmcli connection show
nmcli connection up "Work VPN"

Ha a kezelő megtagadja, olvassa el, miért: hiányzó polkit-szabály, más felhasználó tulajdonában lévő kapcsolat vagy olyan helyen tárolt profil, ahol a felhasználó nem tudja olvasni. Mindegyiknek van a sudo-szabálynál szűkebb, támogatott javítása. A jogosultságnövelés az utolsó eszköz, nem az első.

2. feltétel: a szabály egyetlen végrehajtható fájlt és annak argumentumait nevezi meg

Ha a sudo valóban szükséges, a szabálynak meg kell neveznie a pontos parancsot és, ahol lehet, azokat az argumentumokat, amelyeket használhat. Egy szabály, amely engedi a felhasználónak egy burkolószkript futtatását, csak annyira biztonságos, mint a szkript jogosultságai, mert a felhasználó szerkesztheti, mit fog a root végrehajtani. Egy szabály a parancs utáni helyettesítő karakterrel ugyanaz a probléma rövidebb formában.

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

Ellenőrizze a parancslánc minden útvonalát: a binárist, az általa hívott szkriptet, az általa olvasott konfigurációs fájlt és a köztük lévő összes könyvtárat. Ha bármelyik írható a felhasználó számára, a szűkített szabály a gyakorlatban korlátlan root. Az argumentumok is számítanak, mert egy konfigurációs útvonalat elfogadó parancs ráirányítható egy felhasználó által vezérelt fájlra. A műveletre írja a szabályt, ne a gombra.

Álljon meg, ha a parancsnak felhasználó által vezérelt fájlra van szüksége a működéshez. Akkor a tervezés hibás, és semmilyen sudoers-szintaxis nem teszi biztonságossá.

3. feltétel: a teljes házirend elemződik le, nem csak az Ön sora

Azzal a szerkesztővel validáljon, amely zárolja a fájlt és ellenőrzi a szintaxist, és az összeállított házirendet validálja, nem egy töredéket. Egy önmagában elemződő fájl még mindig megtörheti a beillesztési sorrendet, vagy megkettőzhet egy szabályt úgy, hogy megváltozik a viselkedés.visudo kézikönyv dokumentálja a zároló szerkesztőt és az itt használt csak-ellenőrző módot is.

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

Az ellenőrzés hiba esetén jelzi a fájlt és a sort, és éppen ez a jelentés a hasznos rész. A szándékolt módosítást a szerkesztőn keresztül javítsa, ne erőltesse egy ismert hiba mentését, mert egy elrontott házirend egyszerre zárhat ki minden rendszergazdát. A beillesztési könyvtár fájljainak is a kézikönyv által előírt tulajdonra és módra van szükségük, különben figyelmen kívül hagyják vagy elutasítják őket. A szintaxis csak az első kapu: miután átment, olvassa el újra a szabályt, és kérdezze meg, mit is engedélyez valójában.

Álljon meg, ha a módosítás működésének egyetlen módja a szintaxis-ellenőrzés kikapcsolása. Az nem házirend, hanem újraindításra váró kiesés.

Helyreállítás: tartson meg egy még működő munkamenetet

Mentés előtt győződjön meg arról, hogy egy jogosult adminisztratív munkamenet már nyitva van, és létezik egy második út a gépbe. Egy sudoers-hiba elveheti a javítás lehetőségét, és egy asztali gomb nem ér meg ekkora kockázatot. Ha a sudo már elromlott, használja a rendszer dokumentált helyreállítási útját, ne improvizáljon sajátot.

sudo -n true
id

Az olyan alternatívák, mint a pkexec, a saját telepítésüktől és házirendjüktől függenek, tehát nem garantált második root-kérés. A helyi engedélyezést a VPN-titok átadásától is tartsa külön: egy sudo-szabály nem tud feloldani egy hiányzó titokügynököt, és nem elégíti ki az átjáró MFA-ját. A javítás után a normál fiókot csak a szándékolt művelet végrehajtásával tesztelje, majd használja a kezelő szokásos vezérlőit.

A döntés akkor zárul le, amikor meg tudja mondani, melyik feltétel indokolta a sudo-t, mit nevez meg a szabály, hogy a teljes házirend elemződik, és hogyan állna helyre, ha nem így lenne. Egy kiváltságos indító, amely az adminisztratív hozzáférésébe kerül, rossz üzlet, és általában elkerülhető.

Kapcsolódó cikkek