Sudo tippek

A mai rész egy olyan területre kalauzol el, ami sok vitát generál. Bár a bemutatott módszerek komoly kockázattal járhatnak, de én úgy gondolom akinek van egy kis esze el tudja dönteni maga is a használatukat. A leírtak egy része a Linux (Unix) rendszerek egyik legnagyobb előnyét írják felül: a jogok teljes elkülönítését.

Miről is lesz szó? A sudo jog kikapcsolásáról. Azaz el szeretnénk érni, hogy egy sima user (a mintában laci, azaz én) kapjon teljes rendszergazdai jogot, úgy, hogy jelszó beírása nélkül futtathasson olyan programokat amikhez eddig ismerni kellett a root jelszót.

Ennek mi az értelme?

Előfordulhat, hogy rendszer-adminisztrátori jogot akarsz adni egy usernek, hogy a root, azaz emelt jogú feladatokat is el tudjon végezni, úgy hogy nem adod át neki a root jelszót. Vagy - ami esetleg gyakoribb - nem akarod hosszabb rendszer-karbantartás okán beírogatni a jelszót minden lépésnél.

Mi a kockázata?

Alapvetően a legnagyobb kockázata a rendszer alapelveinek a felrúgása. Amióta számítástechnika létezik a komolyabb, többfelhasználós rendszerek erősen szabályozzák a hozzáférést. A root jog nagyon kiemelt, bármit megtehetsz vele. Az user meg csak azt, amit neki megengednek. Ezeket az elveket nem hiába találták ki, és nem hiába maradt meg a jogosultsági rendszer. Nem azért kell emeltebb jog egy program futtatásához, vagy egy konfig állomány átírásához, mert ki akarnak veled babrálni...

Ha a leírtak első felét megcsinálod, akkor aki leül a géped elé, és Te be vagy jelentkezve, bármit meg tud tenni a rendszerrel. Tönkreteheti. Átírhat rendszer konigurációkba, pld. úgy hogy távolról hozzáférjen a gépedhez. Több felhasználós gépen mindenkinek az adataihoz hozzáférhet. Ha nem érted ennek a veszélyét ebből a pár mondatból, akkor fogadd el: ilyent nem kell tenned, addig amíg át nem látod a jogosultságok fontosságát!

A harmadik ellenérv sokak számára biztosan nem lesz érv, de szerintem fontos megemlíteni. Ha a sudo-záskor a rendszer jelszót kér, az egy picit lelassítja a gyors munkát és ad egy utolsó ellenőrzési pontos a parancshoz. Valóban ezt akarod? Vagy csak ész nélkül másolgattál egy blogból egy olyan parancsot, amiről elképzelésed sincs mit csinál?

Sudo jelszó kérés TELJES letiltása

Semmi olyan parancshoz nem fog ezentúl jelszót kérni, amihez eddig sudo jelszó kellett. Erre is van mód, hiszen a Linux rendszerek nagyon jól testreszabhatóak. A sudo beállításai a sudoerc fájlban vannak. Ami egy sima szövegfájl. De, és itt nagyon fontos megjegyezni, hogy ezt soha nem szerkesztjük egy szövegszerkesztővel. Soha! Csak, és kizárólag a megadott módszerrel szerkeszd, mert a visudo nem csak szerkeszti, hanem ellenőrzi is a beírtakat, és ha gondja van szólni fog.

sudo visudo

majd bekéri a jelszavadat. Ezután már szerkeszthető a sudo konfigurációs állománya.

A fájl alján add hozzá a következő sort:

$USER ALL=(ALL) NOPASSWD: ALL

Ahol $USER a felhasználóneved a rendszerben. A példa laci felhasználónál ez így nézne ki:

laci ALL=(ALL) NOPASSWD: ALL

Mentés, és ezután már nem kér a sudonál jelszót. Elég nagy biztonsági rés minden sudozást igénylő parancsnál (ALL) megmondani a rendszernek, hogy nem kell jelszó (NOPASSWD).

Fontos: itt is meg adni majd, hogy sudo-t, ahogy eddig, csak nem kéri be a jelszót.

Amíg az itt ismertetett módszernél új terminál indításakor ismét bekéri a jelszót, addig ezzel a módszerrel soha nem fogja bekérni.

Nem szeretem megadni a jelszót sokszor, de...

...nem is akarom szétbarmolni a rendszer védelmét. Akkor mit tehetek? Én azt javaslom, hogy lépj át rendszergazdai fiókba, ahol nyilván nem kell a sudo-t használni és ha végeztél, akkor lépj ki a rendszergazdai fiókból. Ha ez nem tetszik, akkor is van korrekt megoldás. Sok asztali környezetben a fájlkezelőben jobb klikkes kattintásnál, vagy a menüben valahol van olyan lehetőség, hogy rendszergazdai terminált (esetleg fájlkezelőt) nyiss. Ekkor bekéri egyszer a jelszót, és azután már nem. Ezek előnye igen nagy: ha bezárod a rendszergazdai terminált, akkor kilépsz a root jogosultsági körből.

Vagy vedd hosszabb időre a linken bemutatott módszerrel a jelszó időkorlátját. Itt is igaz: bezárod a terminált, kiléptet az emelt jogból.

Részleges sudo jelszótalanítás

Előfordulhat olyan helyzet, amikor szeretnél valami programot futtatni, amihez elméletileg emelt jog kell, de nem akarod megadni a jelszót. Azaz sima laci user is tudjon pld. frissíteni, vagy esetleg rendszerszintű mentést csinálni, esetleg egy adott szkriptet futtatni. De nem akarjuk, hogy a kivételként megadott eseteken kívül bármi rendszergazdai dolgot elérjen, bele tudjon piszkálni a rendszerbe. Azaz egy-egy feladatot delegálhatunk neki, de a bizalmi szintje nem olyan, hogy az adott gépen teljes jogot kapjon.

Egy felhasználós gépeknél is érdemes lehet ismerni a lehetőségeket, hiszen lehetnek olyan szkriptek, amiben emelt jogot kívánó parancs is bekerül. Élő példa lehet a rendszer frissítéshez, karbantartáshoz, mentéshez összerakott kis szkript, ahol valószínűleg szerepel a sudo apt get update sor és egyéb sudo-val kezdődő sor is. Normál esetben ilyenkor bekérné a jelszót, de ezt ki tudjuk kerülni.

A szokott módszer:

sudo visudo

majd bekéri a jelszavadat. Ezután már szerkeszthető a sudo konfigurációs állománya.

laci ALL=(ALL) ALL
laci ALL=(ALL) NOPASSWD: /bin/apt-get

Bár többféleképp meg lehet a dolgokat adni nekem ez a módszer jött be.

Sejtem, hogy mindenki átlátja a szintaktikát. Két fontos dolog. A sorok sorrendje kötött, és a parancsot (apt-get a példában) teljes elérési úttal kell megadni. A teljeset! Ez sok leírásban nem kerül kiemelésre, így az elején én is hibásan adtam meg.

Ha veszélyes, akkor miért írtad le?

Mert remélem mindenki, aki olvas, értelmesen közelíti meg a rendszerét. Ismerni kell a lehetőségeket és a hozzájuk tartozó kockázatokat. Mindegyik megoldásnak lehet helye egy-egy adott szituációban. Az elsőt én nem használom, a másodikat igen. Értelmes emberek elől nem szabad a tudás elzárni (és amúgy sem lehet, mert fél perc alatt a google kidobja a megoldást) mert felelősen használják fel.

Hozzászólások

Sudo tippek

#1 részben igen, mert a központosítási kísérlet a systemd-vel eléggé erőteljes, minent bele akarnak tenni. De maga a sudo (vagy valamilyen hasonló program) megmarad, mert sok olyan disztribúció van, ami alapból systemd mentes, vagy kiszedték a systemd-t olyan disztribúciókból, amik azt használták a származtatott disztribúcióban. Mostani idők eléggé innovatívak lettek Linux téren is, jönnek az új megoldások. Érdekes lesz látni mire válik ez a téma.

Értékelés: 

0
Még nincs értékelve

Mostani idők

>Mostani idők eléggé innovatívak lettek Linux téren is, jönnek az új megoldások. Érdekes lesz látni mire válik ez a téma.

Hát én meg pont hogy borúlátó vagyok, de lehet, hogy én vagyok negatív. Vagy rosszul látom. Az minden esetre létező dolog, hogy kb. senki nem érdeklődik az X-apps projekt iránt, Gnome zárkózik befele, GTK meg rohan előre, de nem tudni merre. A GTK3 alig érte el a stabil állapotot, máris nyomták a GTK4-et, az meg még csak ki sem forrt, és már a GTK5-ről lehet hallani. A Mint most nehéz helyzetben van, igaz, talán nem annyira, mint a Gnome3 megjelenésekor, de na.

Kis esély, de titkon azt remélem, a Mint áttér Qt-ra... De ez nem fog menni karikacsapásra, egy Qt alapú Cinnamon azért nagy munka lenne.

Értékelés: 

5
Átlag: 5 (1 szavazat)

Mostani idők

#2 Igen, nagy a zajlás minden területen. Én úgy látom, hogy egy olyan időszakban vagyunk, ahol az útkeresés folyik. Most mindent próbálnak erősen újítani, reformálni és változtatni. Ez átcsaphat egy kapkodásba, nem forrnak ki a technikák és sok zsákutca lesz. Ezt sokan el is várják, mert (sajnos) a felhasználók azt kedvelik, ha minden új kiadásban nagyon új dolgok vannak. Ezt minőségben nem lehet követni, de aki meg nem követi az lemarad. Ez is letisztul, hiszen akik napi szinten használják a Linux rendszert nem fogják hosszú távon tolerálni ha kiforratlan megoldások miatt gyakoriak a problémák.

Értékelés: 

0
Még nincs értékelve