[Megoldva] sudoers fájl

Fórumok

Sziasztok!

 

Miért van az hogy a mostani legújabb ubuntuk-nál  a sudo már nem úgy müködik. Értem ezalatt hogy mikor kiirja egy parancs futtatásánál  hogy a felhasználó nincs a sudoer fájlban. 

Nem lehet visszaállítani hogy úgy működjön mint régen?

Hozzászólások

Ez melyik ubuntu? Még 22.10 Kinetic Kudu xubuntun is alapértelmezetten első userként belerakott és "vigan sudoztam össze-vissza".

[insert line here]
B.C. 3500 - DIY Vehicle / A.D. 30 - DIY Religion / A.D. 1991 - DIY OS

xubuntu 20.04. Ilyenkor a felhasználót a sudoers fájlba fel kell venni?

Rootként "usermod -aG sudo felhasznaloneved" amit ilyenkor szoktam, logout-login ezután - a sudo csoportba rakom bele de nekem akkor is gyanús az egész helyzet, szerintem semmit sem változtattak.

[insert line here]
B.C. 3500 - DIY Vehicle / A.D. 30 - DIY Religion / A.D. 1991 - DIY OS

  1. A gyökért a $ su root paranccsal adta meg . Adja meg a root jelszót.
  2. A sudo telepítése: $ apt-get install sudo -y.
  3. Adja hozzá a < felhasználónév> $ adduser <felhasználónév> sudo.
  4. $ exit.
  5. Ezután iratkozzon fel és jelentkezzen be a < felhasználónév> ülés.
  6. Végül ellenőrizze: < felhasználónév>@< hostname>: ~ $ sudo apt-get update.

Ezeket végigcsináltam. Az etc/sudoers fájlba fel kell hogy vegye ilyenkor a felhasználót?

Hát remélem más tud segiteni, én ezt ebben a formában nem is értem. Ha ezt végigcsináltad és lefutott a sudo apt update, akkor készen vagy szerintem? Hiszen az usereddel tudtál sudot használni?

Az én /etc/sudoers fájlomban debianon nincs usernév. A sudo group van csak:

# Allow members of group sudo to execute any command
%sudo    ALL=(ALL:ALL) ALL

[insert line here]
B.C. 3500 - DIY Vehicle / A.D. 30 - DIY Religion / A.D. 1991 - DIY OS

Ezt ne így. A visudo parancsot kell használni, és ott lehet ezt a fájlt szerkeszteni. Vagy ha a Vi szekesztő nem ismerős, akkor esetleg így futtasd:

#EDITOR=nano visudo

 

%sudo    ALL=(ALL:ALL) ALL

Ekkor a sudo csoportban kell lennie a felhasználónak. De lehet más is, pl. wheel csoport, akkor így add meg.

%wheel      ALL=(ALL:ALL) ALL

%-jel nélkül pedig user-t adhatsz hozzá pl.:

Valaki       ALL=(ALL:ALL) ALL

Igen, be kell tenni. Attól is függ, hogy a sudoers fájl tartalma konkrétan micsoda, tedd fel a pastebin-re vagy valahová, kristálygömbünk nincs, hogy meg tudjuk tippelni a tartalmát a látatlanban.

A sudoers fájlban kéne szerepeljen. Vagy a usernek, vagy egy olyan csoportnak (sudo, wheel, admin, stb., disztrója válogatja), aminek az adott user tagja. Anélkül nem lesz sudo-jogod. Akár valami saját csoportot is kitalálhatsz, beteheted abba a usered, vagy csoport nélkül csak az adott felhasználót is felveheted közvetlenül: gizike ALL=(ALL:ALL) ALL formában, ilyenkor nincs előtte %-jel, az a csoportot jelölné.

Arch Linuxon már kezdettől fogva nincs sudo alapból (telepítve se, meg telepítés után a sudo jog sincs engedélyezve), benne van ugyan a /etc/sudoers fájlban a %wheel ALL=(ALL:ALL) ALL, de # van előtte, ki van kommentelve. A kommentjelet törölni kell és be kell rakni a usert legalább a wheel csoportba. De ez így ment Gentoo-n, meg talán Voidon, Artixon is. Ubuntut évek óta nem használok, de emlékeim szerint azon alapból kéne menjen telepítés után a telepítőben létrehozott felhasználóval. Ha utólag, kézzel veszel fel új felhasználód, akkor neked kell gondoskodni róla, hogy ne csak létre legyen hozva, hanem tagja legyen a megfelelő, sudo-jogosult csoportnak is.

Ez egyébként nem csak a sudo sajátossága, ilyen a doas is (Linuxon általában az opendoas csomagban elérhető). Az is ugyanígy működik, csak a konfigájl a /etc/doas.conf-ban van, és kicsit más a konfig szintaxisa, de épp úgy ha akarsz doas-jogot (hogy ne kelljen su-t használni mindig), fel kell venni vagy a felhasználót, vagy egy olyan csoportot, amiben benne van.
 

A computer is like air conditioning – it becomes useless when you open Windows.” (Linus Torvalds)

Egy újonnan hozzáadott felhasználó esetében? 

Szerkesztve: 2022. 09. 08., cs – 20:36

Grafikus felületen hozzáadott új felhasználó egyéni típusú felhasználó lessz. Csak a saját csoportjának a tagja, semmi más csoportban nincs benne.
A telepítéskor létrehozott user is egyéni, de ezt a telepítő szkript felruházza minden szükséges csoporttagsággal.
A problémás usert tedd rendszergazdává (fióktipus megváltoztatása). Bekerül a sudo csoportba és az admin csoportba és számos más csoportba is.
Ha általános felhasználóvá teszed, megkap sok csoport tagságot, de nem lesz a sudo csoport tagja.

A sudoers fájlban a csoporttagsággal van szabályozva a sudo használata. Emiatt nem is változik a sudoers, ha fenti módszerrel bekerűl a sudo és admin csoportba.

Felesleges piszkálni a sudoers fájlt.

Feltételezem, hogy grafikus felületen tevékenykedsz.

Egészen addig nem lesz belőle gondod, amíg a sudoers-be nem kerül valami hiba, ami miatt invaliddá válik - onnantól kezdve a sudo nem fog működni. Ex kollegina AIX-en játszotta ezt el - szerencsére sikerült olyan valakit elérni, aki bent volt a gépen, és volt nála root prompt... Mert másképp borítékfeltépés és jegyzőkönyvezés lett volna...

És friss loginnal is megette a sudo utána? Egy másik konzolon "elrontottam" a sudoers fájl, majd az egyébként a sudo csoport tagjaként létező user1 userrel bejelentkezve:
 

user1@ubuntu2004vm:~$ sudo su -
>>> /etc/sudoers: syntax error near line 32 <<<
sudo: parse error in /etc/sudoers near line 32
sudo: no valid sudoers sources found, quitting
sudo: unable to initialize policy plugin
user1@ubuntu2004vm:~$ sudo --version
Sudo version 1.8.31
Sudoers policy plugin version 1.8.31
Sudoers file grammar version 46
Sudoers I/O plugin version 1.8.31
user1@ubuntu2004vm:~$

Beleírtam random sort a sudoers-be, ki és bejelentkeztem és utána is ment.

 

 

teszt@jimmy-UBUNTU:~$ sudo su -
/etc/sudoers:52:16: syntax error
sdfefergrgrgrgg
               ^
root@jimmy-UBUNTU:~# exit
logout
teszt@jimmy-UBUNTU:~$ sudo --version
Sudo version 1.9.9
/etc/sudoers:52:16: syntax error
sdfefergrgrgrgg
               ^
Sudoers policy plugin version 1.9.9
Sudoers file grammar version 48
Sudoers I/O plugin version 1.9.9
Sudoers audit plugin version 1.9.9
 

Elképzelhető, hogy megy. Nekem már volt olyan, hogy egy majdnem érvényes sort írtam bele, csak elgépeltem, szóköz, kettőspont vagy valami ilyesmi hiányzott, és működésképtelen sudo lett a vége, még újraindítás se kellett ahhoz, hogy érezze a sudo, hogy haza lett vágva, ha jól emlékszem. Persze ilyenkor nem kell pánikolni, su - után vagy root logint követően, vagy ha van, doas-zel lehet újra próbálkozni.

Szerkeszteni is akármivel lehet a sudoers. Csak ajánlott visudo-val, amiről a neve alapján mindenki azt hiszi, hogy kötelező hozzá vi, közben meg bármit elfogad, ami az EDITOR változóban van, ha ez üres, akkor default a vi. Nem az a lényege, hogy vi-t hív, hanem hogy ellenőrzi valamennyire a szerkesztett sudoers szintaxisát. Még a visudo se kötelező, azon kívül is lehet nekiesni bármivel, akár még polkites vagy fuse-os (admin:///bla/bla) jogszerzés után valami GUI text editorral, bár az szerintem kicsit lámaság, mivel a sudoers patkolása klasszikus adminisztráció, általában szerveren jön elő, ahol nincs GUI, így csak ajánlani szoktam, hogy GUI-s meg segédpótkerekes barmolás helyett megtanulni valami értelmes CLI/TUI opció használatát, lehetőleg minél sztenderdebb eszközökkel. Aki nagyon pró, még ed-del vagy sed-del is szerkesztheti a sudoers-t.

A computer is like air conditioning – it becomes useless when you open Windows.” (Linus Torvalds)

1.9.3 óta működik ( https://www.sudo.ws/docs/upgrade/ ):
"Starting with version 1.9.3, sudo will attempt to recover from a syntax error in the sudoers file by discarding the portion of the line that contains the error until the end of the line. To restore the historic behavior of refusing to run when a syntax error is encountered, add error_recovery=false as a plugin option in sudo.conf for the “sudoers_audit” plugin, (or “sudoers_policy” if there is no “sudoers_audit” plugin configured)."

A 20.04-es Ubuntu 1.8.31-es verziót szállít - néhány sérülékenység javítását backportolva bele.

Kösz az infót, ezt nem tudtam. Nekem nem volt ezzel bajom, de jó, hogy megcsinálták, mert sok embert frusztrált. 20.04-et meg kb. senkinek nem kéne használni, már fél éve kint van a 22.04 is, az is épp úgy LTS. Én mindig reklámozni szoktam az újabb verziók használatát, nem véletlenül, mert pl. lásd itt is számít, de a sok ultrakonzervatív, meg frissíteni lusta emberkét lehetetlen meggyőzni, megkapja az ember az arcába, hogy verziófetisiszta, fejlődésmániás, fősodratú, babzsákfejlesztő, mérnökúr, hosszan ír, megint szajkózik, az ezer éves verziós Debian meg a WinXP az isten, stb..

Jelenleg Archon nálam a 1.9.11-p3 verziós sudo megy. Az is csak azért van fent hagyva, mert néhány script és szoftver fixen sudo-ra van drótozva, de főként doas-t használok helyette, ami sokkal minimalistább, egyszerűbb (és meg doasedit-es megoldást is találtam hozzá, ami a sudoedit funkcionalitását replikálja), viszont annál még az van, hogy ha elcsesszerinti az ember a /etc/doas.conf fájlban a konfigot, akkor megszűnik működni. Előnye a minimalizmuson kívül, hogy kevésbé támadják, mint a sudo-t, meg BSD-ken is sztenderd, és a konfigolása sokkal részletesebb, pl. tud olyat, hogy egy adott parancsot úgy engedélyezni egy user-nek, hogy csak adott elérési úttal, vagy csak előre lerögzített paraméterekkel hívva, ez utóbbit tudtommal a sudo nem tudja.

A computer is like air conditioning – it becomes useless when you open Windows.” (Linus Torvalds)

"már fél éve kint van a 22.04" - nagyjából ennyi idő,amíg egy nagyobb infrastruktúrában felkészülnek a migrációra. Ha mindenképp szükségét érzik, bár onnantól kezdve, hogy a 20.04 is kapja a frissítéseket, nem sürgős a váltás. Az, hogy vannak a 22.04-ben olyan újdonságok/változások, amik jobbá, használhatóbbá teszik az az érem egyik oldala - a másik oldalán meg ott van a "mit kell átírni/módosítani/megváltoztatni" halmaz, ami lehet, hogy több erőforrást/költséget jelent, mint az újabb verzió előnyei. (Mondjuk az 1.9-es sudo-nak nem ez a jelentősebb előnye az 1.8-hoz képest, hanem a központi logolás lehetősége...)

"egy adott parancsot úgy engedélyezni egy user-nek, hogy csak adott elérési úttal, vagy csak előre lerögzített paraméterekkel hívva, ez utóbbit tudtommal a sudo nem tudja" - szerintem meg tudja, de majd valamikor megnézem.

Végül is nem kizárt, hogy mostanra tudja. Arra gondolok, hogy pl. gizike felhasználónak engedélyezed, hogy futtassa a /usr/bin/pacman -Syu parancsot. De csak gizike, csak azt, csak ebben a formában, ha simán pacman-ként futtatja, vagy /bin/pacman, esetleg ./pacman-ként, akkor nem fog neki menni (ezt eddig a sudo is tudja), vagy ha valami más paraméterrel hívná meg, -S, -Syy, -R, -F, akármi, akkor azt se tudja megtenni, lényegében így csak szabályosan frissíteni tud (a sync-et így nem tudja kihagyni update előtt szabálytalanul), de nem tud csomagot eltávolítani, felbarmolni, tárolót hozzáadni, stb.. Így általánosan visszaélni nem lehet vele, mivel egy esetleges támadó nem tudja, hogy pont gizikének (és nem gibszjakab felhasználónak), pont ezzel a konkrét elérési úttal és kapcsolókombóval engedve van valami, és természetesen a /etc/doas.conf-ból sem lehet puskázni, mert az meg rendszerfájlként access denied-dal fog visszaérkezni, és ha valaki paranoiás, akkor a shell rc-jében is megadhatja, hogy az ilyen speciális doas config alapján hívott akciókat a rendszer ne mentse history-ban, ahonnan ki lehetne figyelni, esetleg valami külön scriptben hívni billkombóval és nem terminálból indítani. Plusz mivel nem elterjedt, így a doas-t nem támadják még annyira a hackerek, mint a sudo-t. Sérülékenység sincs benne annyi, de nem azért, mert profibban van megírva, hanem a kódbázisa kisebb, ennél fogva kevesebb alkalom van valami rést találni rajta, és ha mégis akad, akkor könnyebb foltozni, kicsi projekt, valami alig párszáz sor. Az OpenBSD-féle és suckless-típusú minimalizmus előnye, hogy fapad, nem felhasználóbarát, de cserébe szög egyszerű, bomba biztos, stb.. Verzió sem jön ki belőle túl gyakran, így még lustáéknak is ideális, hogy nem kell állandóan frissíteni ezt a komponenst is.

A computer is like air conditioning – it becomes useless when you open Windows.” (Linus Torvalds)

Nyugodtan le lehet mindenkit hülyézni aki nem frissít, de megjegyzem, hogy nekem valami olyasmi rémlik, hogy Ubuntuék a 18.04-es LTS-t (ami ugye még alapból is egy bő fél évig támogatott) 10 év támogatásúnak jelölték, ezzel hosszabb ideig támogatott, mint a lesajnált 20.04, vagy akár a halleluja 22.04. És ha az Y futó programot arra a verzióra auditálták, akkor bizonyos helyeken csak azért nem fognak frissíteni, mert sokak szerint nyugodtan lehetne frissebb rendszert használni, mert ...

A doas nem tudom milyen BSD-ken sztenderd, FreeBSD-n garantáltan maximum ports-ból / csomagból lehet feltenni, alapból sudo _sincs_ hanem van helyette su és wheel csoporthoz korlátozás. A'la BSD.

De elkezdhetek én is hosszasan ragozni valamit a calife-ről, ami szintén egy minimalista sudo / doas / runas helyettesítő, és ha lehet még kevesebb helyen használják, mert szerintem sehol nem sztenderd.

Nem hülyéztem, csak nem szoktam egyetérteni, ha valaki halogatja. Inkább lustaságnak tartom egyébként is, mint hülyeségnek. A 18.04-es LTS is épp úgy 5 éves támogatási idejű, mint a többi, legalábbis ingyenesen ennyi, az ezen felüli 5 éves támogatás az fizetős. Meg kb. értelmetlen, mert 10 év alatt túl sokat változik a Linux világa. Már az 5 év is necces.

A doas elég bevett gyakorlat a BSD usereknél. Elhiszem, ha te nem használod, de a legtöbben felteszik, mert ugye sudo nem divat arrafelé, valami meg kell, ha valaki nem akar csak su-ra támaszkodni. runas-t is ismerem, de az szerintem a minimalizmusnak olyan foka már, hogy nem mindenkinek tudom nyugodt szívvel ajánlani, de tény, hogy alternatíva az is.

Linuxon meg egyenesen kvázi kötelező a sudo, olyan disztrókon is, amelyeken nincs default telepítve. Azért, mert elég sok kód fixen rá van drótozva, és kellemetlenség lehet belőle, ha pont ilyet futtat az ember. Bash szintén, hiába használsz másik shellt, elég sok kód fixen #!/bin/bash, #!/usr/bin/env bash-ra van beállítva, ha eltávolítod a rendszerről, szívás lehet a vége. Körbe lehet hekkelni, de az is plusz munka és körlefutás lesz. A glibc, systemd, és desktop rendszereken a pulsaudio/pipewire, dbus is elég megkerülhetetlen a linuxos világban, meg lehet próbálni ezeket elhagyni, vagy ezeket nem tartalmozó disztrókat próbálgatni, de nem lesz jó vége, túl sok minden dependel ezekre. Így hiába nem is szereti ezeket valaki, keserű pirula, akkor is le kell nyelni.

A computer is like air conditioning – it becomes useless when you open Windows.” (Linus Torvalds)

Másként mondom, mert nem akarod megérteni:

vannak olyan környezetek (bankok, biztosítók, olajfúrótornyok, stb.) ahol vannak üzleti kritikus szoftvertek, amiket (és amelynek a környezetét) nem frissítgetnek 5 percenként, és nem is szeretik, ha piszkálni kell őket. Ezekre a területekre lő a RHEL, a SLES, az OEL - és az Ubuntu LTS kiadásai is, amelyek közül a 18.04-hez nagy csinnadrattával bejelentette Shuttleworth, hogy a standard - ingyenes - 5 évhez képest lehet venni még 5 évre támogatást. Lehet, hogy te nem tartod fontosnak - sőt értelmetlennek tartod! -, de vannak olyan informatikai vezetők, akik erről másként vélekednek. És ez teljes mértékig más, mint egy felhasználó desktopjának frissítési gyakorisága, sőt még egy átlagos email- vagy webszerverétől is.

A doas pedig BSD-n _szerintem_ nem elterjedt. OpenBSD-ben van gyárilag (ha jól értem), de se a Free, se a Net, de a DFly alapból nem adja. Tehát ha ezeken a BSD-ken valakinek nem elég a su + wheel group - ami a BSD-s hagyomány -, akkor valamit telepítenie kell. Ebben az esetben _véleményem_ szerint a sokkal elterjedtebb, sokkal több ember által ismert, sokkal kifinomultabb lehetőségeket támogató sudo-t fogja feltenni
(Éppen ki lehetne írni róla egy szavazást, de az itteni <= 10 BSD user szavazat kedvéért nem sok teteje lenne.

Savazás:

*BSD userként mint használsz:

Linux user vagyok, ezért nem érdekes a szavazatod

Almahasználó vagyok ezért nem számítasz

Winuser vagyok, ezért leszarjuk a véleményed

calife

doas

runas

sudo

egyéb

- Megfelel? )

Benne vagyok, nyisd meg a szavazást. Már csak puszta statisztikának is jó.

A bankokkal, biztosítókkal, olajfúrókkal az a baj, hogy nagyon fontosak, a világot irányítják, ilyen elefántcsonttoronyból, csak épp az összes user/server számaihoz képest arányaiban iszonyat elenyésző.

A computer is like air conditioning – it becomes useless when you open Windows.” (Linus Torvalds)

https://i.imgur.com/HlA8lfN.png

A marker a bold g alatt van: sdfefergrgrgrgg, ami implikálná, hogy ott a hiba, tehát odáig jó a sudo szerint :) Most nézem, hogy rendes kódként betéve sorvégét mutat, szóval valószínű csak a nem fix szélességű font miatt látszott így.