*BSD rendszeren mit használsz parancsok más felhasználóként való futtatására

Címkék

(Igen, tudjuk, hogy elenyésző számban vannak valódi BSD userek - a hobbiBSD-sek (hint: Apple) nem számítanak.)

(A szavazás apropóját egy sudo-ról szóló szálbeli polémia adta.)

Almahasználó vagyok, ezért nem számítok ebben a szavazásban
12% (72 szavazat)
Linux user vagyok, ezért nem érdekes a szavazatom
40% (241 szavazat)
Windows user vagyok, ezért leszarják a véleményem
11% (65 szavazat)
calife
0% (2 szavazat)
doas
4% (26 szavazat)
runas
0% (2 szavazat)
su
7% (45 szavazat)
sudo
11% (66 szavazat)
csak az eredmény érdekel
5% (29 szavazat)
az eredmény se érdekel (mondjuk akkor nem kéne szavaznom, és nem látnám)
9% (56 szavazat)
egyéb, leírom a hozzászólásban
0% (3 szavazat)
Összes szavazat: 607

Hozzászólások

BSD nálam TrueNAS, ott ha bármit parancssorból kell bizgetni, simán a webes felületen levő shell-t használom, rootként. Úgyhogy nginx :)

BlackY

"Gyakran hasznos ugyanis, ha számlálni tudjuk, hányszor futott le már egy végtelenciklus." (haroldking)

Egyeb. doas, su vagy sudo a feladattol fuggoen.

Thug, ezt dekódolnáád? Van egy jól bevált doas.conf -od és sudoers -ed is, és minden rendszerre feltolod mind a kettőt? Vagy inkább úgy kell érteni, hogy az idő változásával a megoldásaid is változtak, ezért (mondjuk) egy nagyon régen telepített - de még élő - rendszerben su-zol, egy kicsit kevésbé régiben sudo-zol, és az újakban doas-ozol?

Roviden, OpenBSD-n ahol az eletem 80%-at toltom, ott csak doas-t es su-t hasznalok, a dontes pedig roviden igy tortenik:

- ha a root user futtat valamit, mondjuk egy cronjob, rc.d script, etc. mas userkent akkor su

- ha nem root user futtat valamit mas userkent akkor doas

Ha eppen FreeBSD-n kell dolgoznom vagy mas OS-en ahol nincs doas:

- ha a root user futtat valamit, mondjuk egy cronjob, rc.d script, etc. mas userkent akkor su

- ha nem root user futtat valamit mas userkent akkor sudo

Igen, eleg sok. Foleg backup es restore scriptek. A cron nem a legjobb pelda volt

de ott is elofordul, hogy szukseg van ra.

 

De su -t lehet meg masra is hasznalni ha nagyon fontos az, hogy tiszta legyen

a futtatasi kornyezet, nem veletlenul hasznaljuk az rc(8) alendszerben (FreeBSD is).

 

Pelda:

# export UNWANTED_ENV=jelszo

# sh -l -c "echo \${UNWANTED_ENV}" 
jelszo

# su -l root -c "echo \${UNWANTED_ENV}"

#

 

Csak a legvégére: ha környezet takarítás a célom, akkor szerintem az erre való eszközt javasolt használni, nem pedifg valami mást, aminek mellékhatása ez a funkció. De nyilvén megkövezni nem foglak érte

# env -i cmd args # minden környezeti változót takarít (PATH, DISPLAY, USER, HOME se lesz)

vagy ha konkrétan tudom melyik változó zavar, akkor:

# ( unset VAR ; cmd args )

esetleg

# env -u VAR cmd args

Ezen én is felröhögtem, de igaza van. Én sem tekintem BSD-nek őket. Nem érdekel, hogy történetileg onnan van a kód egy része, alapja, mára már annyi millió kódsorral több, meg a régi kódbázis is annyira megváltozott, hogy már nem ismerni rá, talán csak a pontosvesszők vannak meg belőle, meg néhány header, POSIX, API definició. Lényegében már évtizedek óta egy teljesen önálló, proprietary rendszer a Mac, unixlike, POSIX, de tuti nem BSD, akármennyire is szeretik a hipszterek „eredeti Unix”-ként eladni, mert azzal racionalizálni, hogy unixabb a Linuxnál. Ezzel nem azt mondom, hogy tilos használni, hanem hülyeséggel nem kell indokolgatni.

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

Zahy, tennél egy linket arra a sudo szálra?

 

Amúgy részemről sudo. Az úgy benne van az ujjamban, hogy sudo -i

Régebben su - volt a reflex, és a wheel-be tettem magam + pam-ban engedélyeztem, hogy a wheel automatikusan su-zhasson.

Viszont újabban szinte mindent vagy ansible -el csinálok, vagy próbálok rá ansible-t csinálni.

Így van egy bsd-bootstrap.yaml playbookom is, hogy ha nincs még python installálva, akkor legyen, majd sudo, majd sudoers.d-be tegyen egy filet, hogy jelszó nélkül sudozhassak. (Hogy aztán a bármi más ansible meg tudjon become-ni a by default methoddal.)

Kb. innen .

Amúgy fel akartam önálló pontként venni a "sudo su" (vagy sudo su -) formát is, mert még nem sikerült rájönnöm, hogy annak aztán mi értelme van a sudo -i helyett, szóval ha valaki el tudná magyarázni (most használt OS-től függetlenül), azt előre is megköszönném.

Eleg sok kulonbseg van a su -l mert ugye a - az mar deprecated, de ugyanaz mint a -l es a sudo -i kozott,

de a legfontosabb az ez:
 

                 The Command environment section in the sudoers(5) manual
                 documents how the -i option affects the environment in which
                 a command is run when the sudoers policy is in use.

 

Roviden ha sudo -i -t hasznalsz akkor a sudoers(5) -ben beallitott env_keep hasznalva lesz, mikozben

su -l -el 100% hogy tiszta kornyezetet fogsz kapni. 

A masik dolog pedig az, hogy sokan egyszeruen nem tudjak mit csinalnak es mi, hogyan is mukodik. Ezert eleg sokszor

siman csak UUOC -val van dolgunk.

Ja, a sudo su-nak nincs sok értelme, de emlékeim szerint Ubuntun meg néhány disztrón be van lőve úgy a live rendszer, hogy csak simán su-val nem tudsz root jogot szerezni, mert nem tudod a root jelszót vagy root nélküli rendszer, és így van belőve az egész, hogy sudo su-val úgy tudj szerezni ilyet, hogy nem kell jelszót se begépelgetni. Viszont rendesen feltelepített rendszeren gáz, akkor már sudo -i, vagy su vagy épp ki mire esküszik. Felesleges lett volna pontként felvenni, jól van így a szavazás, ahogy van.

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

Értem én, hogy nem értesz egyet, de akkor inkább azt áruld el, hogy a sudo su-nak mi lenne az értelme. Mert tényleg lehet, hogy én értem félre, de néhány live rendszert leszámítva sehol nem találkoztam vele. Csak hogy közös nevezőn legyünk: se a sudo, se a su ellen nem vagyok alapvetően, mindkettő mellett szólhatnak érvek, csak annak az értelmét nem látom, hogy a kettő együtt menjen. Így én eddig kényelmi funkciónak tudtam be, nem érdemi biztonsági intézkedésnek.

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

Nem, nem arról van szó, hogy nem értek vele egyet, arról van szó, hogy nem értem, mit hordasz össze az ubunturól. Igen, alapesetben az ubuntu pl nem ad passwordöt a rootnak, hanem sudot kell használni. Nem kell sudo su -t, teljesen jó a sudo -i, sudo -s, sudo bash, vagy ki éppen hogyan szereti mérgezni vele. A doksiban sincs egyetlen szó se a suról. Szóval nem tudom, honnan veszed, hogy bárhol is kellene használni sudo su -t. 

Na, úgy néz ki, hogy igazad lesz, és a doas nem sztenderd BSD-ken, akármennyire is az van propagálva külföldi oldalakon. Erősen meglep, hogy ilyen rosszul szerepel, és még a sudo is ennyire veri.

Amit kérnék: aki linuxos (vagy Win/Mac user), lehetőleg az is szavazzon, vagy szavazzon át valamelyik értelmes opcióra, ha van némi BSD-s tapasztalata, rendszere stb.. A linuxos vagyok opcióra csak az szavazzon, aki egyáltalán nem használ BSD-ket, még csak elenyésző mértékben sem, nem is tervezi, fingja sincs róla, vagy konkrétan leszarja, hogy melyik megoldás melyik. Ha nincs most BSD rendszer, akkor is szavazhat, ha mondjuk van némi tapasztalata, vagy jövőben szeretne visszatérni rá, akkor abban az esetben mit használna, mire esküdne a fentiek közül.

Nálam doas. Esetleg su, amíg a doas nincs még feltelepítve, vagy ha tudom, hogy egymás után több parancsot is akarok futtatni, és nem akarok mindegyik elé doas-t beirkálni. sudo-val sem lenne bajom, de szerintem ha az ember BSD-zik, akkor nincs értelme linuxos ökoszisztémán maradni. Valahogy nekem a sudo linuxos megoldás, annak ellenére, hogy nem csak Linux rendszereken van és a Linux előtt is létezett, akár csak a GNU toolok. Valahogy úgy vagyok vele, ha már BSD-t használ valaki, érdemes BSD toolokat és BSD-specifikus megoldásokat használni (lehetőleg, el lehet térni, ha valami indokolja), meg az egyszerűségre törekedni, ami a BSD-k filozófiája. Ahogy mindenből ilyen Linux-sztenderd megoldást használunk, sudo, GNU, Bash, Gnome, lófütty, onnantól kb. olyan, mintha Linuxot használna az ember, csak másik kernellel és driverekkel, működik úgy is, de akkor lehet nem sok értelme volt egy másik rendszert bebootolni. Lehet rosszul látom, de nekem ez erről a véleményem. Kicsit olyasmi feleslegességnek tartom, mint mikor valaki órákon át Gentoo rendszert forgat, GRUB, systemd, Gnome, stb. szokásos kotta mentén, és a végén kap egy olyan rendszert, amit megkapott volna bármelyik mainstream disztró felpattintása után 5 perc alatt. Ja, működik, cool, lehet róla mutogatni a neofetch kimenetet, hogy I use Gentoo, btw, csak kérdés, hogy akkor mi volt az értelme az egésznek.

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

A sudo minden csak nem "linuxos" megoldas:

https://en.wikipedia.org/wiki/Sudo#History

 

Robert Coggeshall and Cliff Spencer wrote the original subsystem around 1980 at the Department of Computer Science at SUNY/Buffalo.[13] Robert Coggeshall brought sudo with him to the University of Colorado Boulder. Between 1986 and 1993, the code and features were substantially modified by the IT staff of the University of Colorado Boulder Computer Science Department and the College of Engineering and Applied Science, including Todd C. Miller.[13] The current version has been publicly maintained by OpenBSD developer Todd C. Miller since 1994,[13] and has been distributed under an ISC-style license since 1999.[13]

Igen, azért írtam világosan, hogy már a Linux előtt is létezett. Mára szerintem ez az egész GNU, sudo, stb. annyira egybeforrott a Linuxszal, hogy nem csak én, de  sokan linuxosnak tekintik. Mint írtam, nincs ezekkel sem bajom, sőt, én kifejezetten szeretem a GNU-s megoldásokat, linuxos könnyítéseket (pl. /sys/-es megoldás, free, lsblk, egyéb kényelmi lehetőségek), csak annyit mondok, hogy az ilyeneket viszont jobban megéri Linuxon használni, és felesleges BSD-ket feltenni hozzá. Még az initrendszernél sem tudom elfogadni, mert jó, valaki nem akar systemd-t, vannak attól mentes disztrók is. BSD-knek akkor van értelme, ha BSD-sen, BSD-s szellemben használod, akkor nem csak elmondhatod magadról, hogy nem vagy átlag linuxos nyomi, akikkel Dunát lehet rekeszteni, hanem tényleg előnyöd is lehet belőle konkrétan.

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

ez azért elég bután hangzik. + megemlíteném, hogy a doas linuxon is elég népszerű, sxmo-n pl az a default, de lehet az egész postmarketosben? én sudo-s vagyok, és nem vágom, mért jó, sudoval mindent is meg tud csinálni az ember, lehet pont ettől lett bonyolult az embereknek? passz. valami motiváció bizton van, ami miatt újraírják ezeket

Én szeretem a doast, Linuxon is azt használom, de azt nem mondanám, hogy Linuxon népszerű lenne. A sudo-val sincs bajom, működik, de valahogy kicsit szerintem túlzottan elterjedt, túlzottan a középpontban van, ezért jobban támadják, mint a sudo-t, és a kódbázisa is nagyobb, igaz nem vészes. Én ezt a sudo népszerűségét BSD-n azzal tudom be, hogy sokan Linuxról azt ismerték meg, azt szokták meg, így BSD-n is azonnal egy ismerősebb eszközt választanak.

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

 

Én ezt a sudo népszerűségét BSD-n azzal tudom be, hogy sokan Linuxról azt ismerték meg, azt szokták meg, így BSD-n is azonnal egy ismerősebb eszközt választanak.

 https://github.com/sudo-project/sudo/blob/main/docs/HISTORY.md

A sudo jóval régebbi dolog, mint a Linux. Inkább megfordítom a dolgot: Linuxon azért van sudo, mert előtte ezt szokták meg az emberek. 

https://man.openbsd.org/doas

HISTORY

The doas command first appeared in OpenBSD 5.8.

doas az 2015 óta van, az OpenBSD 5.8-ban jelent meg. Tehát nem arról van szó, hogy BSD-n azért sudoznak, mert Linuxról azt ismerték meg. Hanem azért, mert a doas egy új dolog, aki 2015 előtt is már BSD-zett, annak a doas az egy újdonság, számára sudo a normális eszköz. És nem azért, mert Linuxról azt ismerte meg.

Komolyan nem értem, hogy ha ennyire nem ismered a dolgokat, és ennyire nem is nézel utána, akkor miért írsz fogalmatlanul baromságokat.

Igen, ezt még elhajtogathatjátok, pont ezért írom le harmadszor is, hogy tudom, hogy régebbi a sudo, mint a Linux. Ennél világosabb nem tudok lenni.

Azzal is tisztában vagyok, hogy a doas csak későbbi, relatíve modern megoldás. Nem is tolni akarom, nekem mindegy ki mit használ, a kollégával fogadtunk csak, hogy melyik megoldás sztenderd BSD-ken az su-n kívül, neki lett igaza, hogy a sudo vezet ott is, és nem a doas. A doas csak azért szimpatikusabb, mert nagy támogatója vagyok ezeknek a minimálisabb suckless/OpenBSD-típusú megoldásoknak, és nem a hardverigény miatt, hanem a kód fenntarthatósága, karbantarthatósága, biztonsága miatt. Vannak pedig még minimalistább megoldások, pl. rootdo, ami csak fele-harmada kódméret a doas-hoz képest is (igaz ennek ára van, pl. csoportokat meg egy pár beállítási lehetőséget nem támogat), meg volt egy alig pár soros shell scriptes megoldás is, aminek a nevére nem emlékszem, az még az 50-70 sort is alig haladta meg, igaz ez már az a fokú minimalizmus, aminek a hasznosságával vitatkozni lehet, meg túl sok kompromisszummal, korlátozással jön, nem tudja ezt, nem tudja azt, nehezen vagy nem konfigurálható, stb.. A lényeg lényege, hogy a sudo-val nincs baj, de nem az egyetlen használható megoldás, és megvan az a hátránya, hogy a túlzott népszerűsége miatt nagyon nagy támadási felület, hiszen minden ilyen rendszeren ott van. Plusz sok esetben overkill is, a legtöbb desktop user kb. csak annyi erejéig használja, hogy az egyetlen userről átváltson root jogosultságra, nem igényel extra funkciókat.

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

csak annyit mondok, hogy az ilyeneket viszont jobban megéri Linuxon használni

Ezt fejtsd már ki kérlek, konkrét érvekkel alátámasztva, mert akárhogy próbálom, nem értem. Miért éri meg jobban? Miben méred a megtérülést? Idő, pénz, hírnév?

Ha adott egy OS, amit többféle toolsettel lehet üzemeltetni, miért ne azt válasszuk, amihez a kollégák többsége ért?

nem csak elmondhatod magadról, hogy nem vagy átlag linuxos nyomi, akikkel Dunát lehet rekeszteni, hanem tényleg előnyöd is lehet belőle konkrétan

Nálunk:

"Linux": 191 JOBS FOUND

"BSD": No jobs match the specified criteria.

Nyilván nem reprezentatív, de linuxos nyominak nem olyan rossz lenni. :)