Sudo vs su

Dragi Ubuntu useri,

:smiley: :smiley: :smiley:

šala, e sad ozbiljno.

Pošto raja često na drugim temama smaraju sa ovom temom, ko ima nešta pametno da kaže bujrum ovde. Ne bi škodio pokoji argument, primjer kako/zašto, zašto da zašto ne itd.

Evo malo uvodne priče

Sudo je veoma komplikovan komad softvera koji omogućava Linux korisnicima da izvrše komande kao drugi korisnik.
Idealan je za situacije tipa “korisnik treba izvršiti tačno jednu komandu kao root (ili neki drugi korisnik)”

Mogućnost izvršavanja proizvoljnih komandi kao root (na način kako to konfiguriše Ubuntu, gdje je običan korisnik “sam svoj admin”)
sasvim je usputna i zloupotrebljena do besvjesti.

  1. Na desktopu sudo neće spriječiti korisničke greške, i zaštiti korisnika od njega samog (‘sudo rm -rf /’ i ‘rm -rf /’ u root shellu su isti)
    Pogotovo zato što po defaultu zapamti password, pa vas neće uznemiravati tokom vaše “sudo powered” administracije.

  2. Nijedan admin koji drži do svoje reputacije ne bi zagovarao korištenje sudo komande za svakodnevnu administraciju servera.
    čak i za veome specifične slučajeve, gdje program/skripta treba ovlasti drugog korisnika, veoma se pažljivo vagaju prednosti
    i mane korištenja sudo programa.

Citati su sa ranije “Antivirus” teme: http://forum.linux.org.ba/viewtopic.php?pid=53749#p53749

Ako ces da mlatis copy/paste komandi koje ces izvrsavati kao root ne treba ti NIKAD dat pristup nijednom serveru. Halo ba? Linux izmisljen oko ideje da covjek ima dvije zdrave sta radi a ne da mlati copypaste 1000x (kako je to aman danas popularno). Ako radis copypaste onda copypaste u shell skriptu, pregledaj fino sta zapravo urade komande koje mlatis te ih pokreni kroz skriptu. Ako ces naslijepo copy/paste stvari onda ti ne treba sudo jer te ni on nece spasit od raznoraznih problema koje ces sam sebi ovako uzrokovat.

[quote=nidla]p.s.
evo recimo jedan annoying “problem” kod “su” je što se ako se su-ate na root-a nećete (na nekim distro) moći pokretati (bez malo googlanja i podešavanja x related config-a) jer za vašeg usera nije startan X[/quote]
Ovdje nije problem sa sudom nego sto ti ne znas za kdesu i gksu koji su namijenjeni za te stvari. No da odrzimo temu na finoj raspravi, probaj ovo:

gksu gedit

Mislim, nije uopste pitanje su ili sudo, razlicite stvari, ti zagovaras zloupotrebu komande koja bi u protivnom mogla bit korisna.

Uostalom, koliko sam upoznat sa historijatom te tvoje (sada) ljubicaste distribucije :smiley: uveli su sudo da bi sklonili root korisnika potpuno (naravno on je tu samo se Ubuntu momacki nagne preko stola da ti nikad ne znas da je on tu). Neko iz nekog razloga je mislio da ce sistem bit sigurniji ako niko ne vidi root korisnika. Za ovo bih volio vidjet opravdane argumente – ako mi neko moze opravdat da je ovo sigurnije od normalnog sistema bez cijele sudoers zavrzlane onda cu progutat metak i rec da je sudo ok.

[quote=adis]Sudo je veoma komplikovan komad softvera koji omogućava Linux korisnicima da izvrše komande kao drugi korisnik.
Idealan je za situacije tipa “korisnik treba izvršiti tačno jednu komandu kao root (ili neki drugi korisnik)”
[/quote]

evo ja kažem da nije, sudo nije komplikovan komad software-a, mislim da je baš jednostavan (1:1)
znači nije ograničen, može se koristiti i kao npr umjesto “su -” kuca se “sudo su -” i dobije se isto (ako nam baš treba duža root sesija)

recimo da je ovo stvar ukusa, na taj način organizovano, meni je ovo idealno (1:1)

niko nije ni rekao da hoće spriječiti, čak šta više ja ne vidim da je to spomenuto kao neki advantage, upravo si rekao da su isti, što će reći da takođe “su” neće još manje spriječiti korisnika da uradi #rm -rf / (1:1)

takođe “su - powered” sesije te još manje neće uznemiravati za pasword (u ovom slučaju to je bad), kod sude bar imaš timeout nakon koje se ponovo mora kucati password, ironija, recimo da je to prednost sude. Ako ostane logiran “su -”/root korisnik neko sjede za komp i belaj - znači postoji vjerovatnoća a ako se i desi više nadrljaš sa su - sesijom (1:0)(1:1)

[quote=adis]
2) Nijedan admin koji drži do svoje reputacije ne bi zagovarao korištenje sudo komande za svakodnevnu administraciju servera.
čak i za veome specifične slučajeve, gdje program/skripta treba ovlasti drugog korisnika, veoma se pažljivo vagaju prednosti
i mane korištenja sudo programa.[/quote]
pa ja i ne zagovaram, ja samo spominjem prednosti koje realno ima korištenje sudo komande, a ovdje samo primjećujem (iz aviona) da se ovi “giganti” ne bi raspravljali oko sude da to nije ubuntu feature

džaba ja i ti zagovaramo nešta, neka sami korisnici skontaju šta im je lakše, brže, sigurnije itd.

sve u svemu nije ponuđeno konkretnih razloga koji bi mogli prevagnuti na su u odnosu na sudo (kao što spomenuh na početku sudo su - i eto ga su -)

Mislim da je ideja sudo naredbe bila da svaki put kada obicni korisnik treba nesto izmijeniti na sistemu dobije predstavu da mijenja neki kriticni dio, i da se osigura ukucavanjem svoje lozinke. Ja npr. se nekad logiram na root preko su, onda ostane logiran na root, radim neke stvari za koje ne treba root i tek onda skontam da sam se zaboravio logout. Uradim logout, ostanu permisije fileova na root ako sam nesto dodavao, pa onda opet moram su i namjestit permisije. Ne mora znaciti da se svima ovo desava, samo dajem primjer. Meni je, npr., ako samo zelim izmijeniti /etc/nekiFile lakse upisati sudo ispred naredbe.

[quote=adioe3]Citati su sa ranije “Antivirus” teme: http://forum.linux.org.ba/viewtopic.php?pid=53749#p53749

Ako ces da mlatis copy/paste komandi koje ces izvrsavati kao root ne treba ti NIKAD dat pristup nijednom serveru. Halo ba? Linux izmisljen oko ideje da covjek ima dvije zdrave sta radi a ne da mlati copypaste 1000x (kako je to aman danas popularno). Ako radis copypaste onda copypaste u shell skriptu, pregledaj fino sta zapravo urade komande koje mlatis te ih pokreni kroz skriptu. Ako ces naslijepo copy/paste stvari onda ti ne treba sudo jer te ni on nece spasit od raznoraznih problema koje ces sam sebi ovako uzrokovat.

[/quote]

dobro ti si u startu pretpostavio da čovjek ne čita (ali ko je rekao da ne čita, samo je rečeno da radi copy paste, pa veće su greške u prepisci nego copy paste, bar ja lično izbjegavam čak i ime prezime nečijeg npr maila da prekucavam radije select/copy/paste i šalji), te komande koje bi kopirao, al recimo da prvo pročita pa pastira (nema razlike u tome da prvo pročitaš pa pastiraš ili da pastaš sebi u skripticu pa pročitaš pa onda pokreneš osim što je ovo drugo duže), npr ako imaš ovo (mixano):

mkdir /home/user/tmp
sudo mount /dev/sdb1 /home/user/tmp

sudo tail -f /var/log/apache2/acces.log &

cp /home/user/tmp /home/user/Desktop
sudo umount /home/user/tmp
export PATH=/sbin:$PATH

e sad skontaj malo kako bi se snalazio sa “su -” bil pravio od ovoga skripticu ili non stop login, tamo-vamo, pa password, duže, ovo je jednostavno efikasnije uraditi sa sudo

e nek si mi reko, al et znao sam za to, al ne znam jesi li ti znao da toga nema na recimo Fedora distro :slight_smile:

[quote=adioe3]
Mislim, nije uopste pitanje su ili sudo, razlicite stvari, ti zagovaras zloupotrebu komande koja bi u protivnom mogla bit korisna.

Uostalom, koliko sam upoznat sa historijatom te tvoje (sada) ljubicaste distribucije :smiley: uveli su sudo da bi sklonili root korisnika potpuno (naravno on je tu samo se Ubuntu momacki nagne preko stola da ti nikad ne znas da je on tu). Neko iz nekog razloga je mislio da ce sistem bit sigurniji ako niko ne vidi root korisnika. Za ovo bih volio vidjet opravdane argumente – ako mi neko moze opravdat da je ovo sigurnije od normalnog sistema bez cijele sudoers zavrzlane onda cu progutat metak i rec da je sudo ok.[/quote]

ne znam jesi li s početka pročitao citat iz man stranice (man sudo) - spada u opravdane argumente.

s obzirom da je tema sudo vs su, a ne šta ja ili neko drugi zagovara ili ko šta voli, ti onda fino navedi za i protiv jednog i drugog i sve će biti ok :slight_smile:

takođe da ne ostanem dužan, najblaže rečeno relativno je, isto bi i ja mogao reći tebi; da zagovaraš zloupotrebu odnosno neupotrebu sude koji bi inače mogao biti koristan :slight_smile:

upravo tako, dobar primjer, al bojim se da će sad ovi “hackeri” da kažu da se to ne može desiti “hackerima” :slight_smile:

Ma

mkfs.ext4 /dev/sda1

I instaliram neki distro koji me ne gnjavi za password ko Windows 7 UAC. Ako si vec root u terminalu trebalo bi da znas sta radis. Ako ne znas, da citiram Linusa: “You’re stupid and ugly.” :smiley:
Svi se tolko mukotrpno brinu oko novajlija koji uce Linux da sta ne zajebu, upropastavate ljudima iskustvo: neka se izgrijese, nek pobrisu sistem, nek za*eru stosta. Drukcije niko nije ni naucio.

Sve u svemu nije ponudjeno konkretnih razloga koji bi mogli prevagnuti na sudo u odnosu na su (zapravo ja ne mogu “su” uopste na Ubuntu cime imam manje izbora cime imam manje slobode cime imam +1 za su).

[quote=nidla]a ovdje samo primjećujem (iz aviona) da se ovi “giganti” ne bi raspravljali oko sude da to nije ubuntu feature
[/quote]

nidla jarane, neces vjerovati, ali linux, kao i razne pripadajuce distribucije su postojale i prije ubuntua. Pa je i sudo postojao daleko prije ubuntua. Sad sto je nekom pilotu iz cannonicala palo na pamet da cijelu ideju sudoersa siluje i napravi ovo sto je napravio, to je vec druga prica.

Btw, Fedora koristi isti princip, eto cisto da vidis da postoji svijet izvan ubuntua.

Vec je objasnjeno ranije za sta i zbog cega je sudo napravljen, da ne ponavljam bez veze.

[quote=adioe3]Ma

mkfs.ext4 /dev/sda1

I instaliram neki distro koji me ne gnjavi za password ko Windows 7 UAC. Ako si vec root u terminalu trebalo bi da znas sta radis. Ako ne znas, da citiram Linusa: “You’re stupid and ugly.” :smiley:
Svi se tolko mukotrpno brinu oko novajlija koji uce Linux da sta ne zajebu, upropastavate ljudima iskustvo: neka se izgrijese, nek pobrisu sistem, nek za*eru stosta. Drukcije niko nije ni naucio.

Sve u svemu nije ponudjeno konkretnih razloga koji bi mogli prevagnuti na sudo u odnosu na su (zapravo ja ne mogu “su” uopste na Ubuntu cime imam manje izbora cime imam manje slobode cime imam +1 za su).[/quote]

ja fino rekoh da pričamo sudo vs su a ne tamo nake novajlije, nakav linus, koga briga za linusa? ako je frajer napravio linux kernel, ne mora bitu u svemu ostalome najpametniji :slight_smile:

ne znam čitaš li ti paša, pa ukucaj “sudo su -” i doićeš to što hoćeš, nisi limitiran

pa je ne mogu kucati “sudo” na npr. debianu čim je rezultat 1:1, a ostao ti je jedan go manjka za brzinu gore što sam ti naveo^^^

[quote=Amar][quote=nidla]a ovdje samo primjećujem (iz aviona) da se ovi “giganti” ne bi raspravljali oko sude da to nije ubuntu feature
[/quote]

nidla jarane, neces vjerovati, ali linux, kao i razne pripadajuce distribucije su postojale i prije ubuntua. Pa je i sudo postojao daleko prije ubuntua. Sad sto je nekom pilotu iz cannonicala palo na pamet da cijelu ideju sudoersa siluje i napravi ovo sto je napravio, to je vec druga prica.

Btw, Fedora koristi isti princip, eto cisto da vidis da postoji svijet izvan ubuntua.

Vec je objasnjeno ranije za sta i zbog cega je sudo napravljen, da ne ponavljam bez veze.[/quote]

zaboravio sam staviti navodnike na “feature” :slight_smile:

e nek si mi reko, al znao sam i to (probao sam i dugo koristio razne distro i dobro sam upoznat, ali to nije tema), dobro je da nisu iz canonicala to izmislili kako bi se tek onda palili :slight_smile: pa upravo što je postojao i prije ubuntu-a ne kontam što se vi palite samo na to što se regularno da ne kažem oficijelno na ubuntu koristi?

pa ljudi su izmislili sudo jer im je trebalo nešta što nisu mogli imati sa su, eto zato je izmišljen :slight_smile: i zato što je raji dodijalo da kucaju

su -c “command”

p.s.
al eto na fedori nije ofirno a na ubuntu jest, fedorini developeri nisu silovali ideju (isto sve radi) a na ubuntu jesu, zanimljivo razmišljanje :slight_smile:

nidla jarane,

il ne kontas ili ne zelis da kontas.

Dakle, probacu polako.

Slucaj 1:

sudo kao takav, u njegovoj originalnoj zamisli je odlicna stvar. Dakle na multi user sistemu, user x treba redovno da koristi komandu y za cije koristenje treba root pristup. Da se useru x ne bi davao root pristup zbog te jedne komande, omoguci mu se izvrsavanje te komande sa sudom. Genijalna zamisao, dobra implementacija (naravno ne od Canonicala).
U ovom slucaju, sudo je odlicna stvar, na kojoj god on distribuciji bio implementiran.

Slucaj 2:

pilot iz Canonicala skontao da bi bilo cool da i na single user sistemu obicni korisnik pokrece sve aplikacije za koje treba root pristup preko sude. Losa stvar, bez obzira na kojoj je distribuciji implementirano. Kritika je usmjerena prema Canonicalu jer su oni prvi poceli sa ovom praksom. Kasnije preuzela i Fedora. Apsolutno je svejedno koji je distro u pitanju, bad practice.

sudo u upotrebi koja je manualom opisana je opravdana donekle i tolko cu se slozit. Za te svrhe sam ga koristio jos 2005, ali bazirat komplet administraciju oko ideje da ti sudo daje jacu sigurnost je komicna. Sta je osnovni argument, ne znaju svi root password jelle? E sokole, sta uradit kad ne postoji root user te ne postoji ni root password? Ti si recimo u wheel grupi pa i ja i obojica mozemo sudo, sta me sprjecava da uradim ovo:

Ili na distribucijama koje prihvate ovu komediju:

U tom slucaju opet dzaba sto niko ne zna tudje passworde jer nivo sigurnosti je isti ko da ga svi znaju. Evo da i ja malo citiram man page:

[quote=man sudo]SECURITY NOTES:

Please note that sudo will normally only log the command it explicitly runs. If a user runs a command such as sudo su or sudo sh, subsequent commands run from that shell will not be logged, nor will sudo’s access control affect them. The same is true for commands that offer shell escapes (including most editors). Because of this, care must be taken when giving users access to commands via sudo to verify that the command does not inadvertently give the user an effective root shell. For more information, please see the PREVENTING SHELL ESCAPES section in sudoers(5).

CAVEATS:

If users have sudo ALL there is nothing to prevent them from creating their own program that gives them a root shell regardless of any ‘!’ elements in the user specification.[/quote]
Tako da ta fina ideja pojacane sigurnosti ode automatski nizvodno. Sto se tice primjera shell skripte, evo nesto sto radim dnevno sto bi me izludilo da nema alias su=“sudo su”:

sudo vi /etc/apache2/sites-available/new-site.conf sudo a2ensite new-site sudo service apache2 reload

Ovo bi cak bio i koristan primjer kako bi sudo komandu trebalo koristit (recimo web developer smije da reloada apache config) ali za sve ostalo mislim da treba koristit su. Pitanje oko obje komande je sigurnost a sigurnost je bazirana na povjerenju. Imao server 50 admin usera ili jednog ista je stvar, jedino sto je lakse je sto kad nekog hoces ukinut samo obrises usera umjesto da promijenis root password, no za instalacije tih velicina uvjeren sam da ce ljudi koristit pametnije sigurnosno rjesenje od sude (autentikaciju putem certifikata i slicno). Pored toga, “su” manual nema sekcije “SECURITY NOTES” niti “CAVEATS” jer se podrazumijeva da kad postanes root znas sta radis.

Ja na drugim distribucijama od interesa mogu koristiti “su”, na ubuntu ne mogu te se ne zalim na druge distribucije jer me ne ogranicavaju. Ta prica “mrzimo ubuntu jer je popularan” je suplja jer sam ga koristio jos u 2005oj dok je imao dobre ideje. Tad je bio fina distribucija koja je rjesavala probleme, ne pravila nove. Eh, kad su poceli sa ovim tockovima i toplom vodom…

Ovo “raji dodijalo da kucaju” je komicno jer sad bas moras vise kucat.

Jedino oko cega bi se ja s tobom slozio u ovoj cijeloj diskusiji su dvije tacke:

  • sudo je koristan kad neko treba pokrenut komandu ko neko drugi
  • sudo je koristan da podignes X.org aplikaciju ko neko drugi kad nema gksu ili kdesu

Sve ostalo, IMHO, je complete bullshit.

Slackware je to dobro rijesio. Sudo je po defaultu disabled za korisnike iz grupe “wheel”. Tako da sve moras raditi kao root. Ako ti ne pase, na svoju odgovornost mozes promijeniti /etc/sudoers.

Ista stvar sa Gentoo-om. Tako to rade ozbiljne distribucije :slight_smile: (sad ce se nidla upaliti ko kutnjak)

Ista stvar sa Gentoo-om. Tako to rade ozbiljne distribucije :slight_smile: (sad ce se nidla upaliti ko kutnjak)[/quote]

:slight_smile:

btw i na debianu je podešen sudo, samo se treba dodati u grupu “sudo” (umjesto wheel)

ma realno, linux je linux, e sad evo na ubuntu se u dvije tri komande može razmontirati “sudo”
tako što se root-u podesi password i “obični” user ukine iz grupe sudo

sudo passwd root
sudo vi /etc/group

sudo:x:27:ak
u
sudo:x:27:

i vice versa na bilo kojoj drugoj distro ako je nekome ćejf da koristi sudo

e sada ne pričamo o tome kako se štima odnosno raštima sudo i su, već prednosti/mane u svakodnevno radu

Jel pricamo ovdje o obicnom korisniku kojem je “npr. nidla (NHF)” istalirao ubuntu/linux ili pricamo o korisniku koji je sam sebi nabacio linux, pa je time user/admin korisnik?

Za ovoga prvoga koji nema pojma sta je x itd… super je sudo, das mu komandu kad nesto treba da mu sredis i on odradi to, bez opasnosti da postane full root i krene jebavat sistem.
Ako si ovaj drugi tip, vjerovatno znas sta radis u terminalu pa kad trebas nesto kao root udjes sa root-userom ili ti ga “su -” i odradis sta treba… Iskreno ja to tako gledam, a sad kako ko te komande koristi ili ne koristi, je tudja stvar! :S

Ja na drugim distribucijama od interesa mogu koristiti “su”, na ubuntu ne mogu te se ne zalim na druge distribucije jer me ne ogranicavaju. Ta prica “mrzimo ubuntu jer je popularan” je suplja jer sam ga koristio jos u 2005oj dok je imao dobre ideje. Tad je bio fina distribucija koja je rjesavala probleme, ne pravila nove. Eh, kad su poceli sa ovim tockovima i toplom vodom…

[/quote]
pa 2005 su svi govorili ubuntu je debian, kopira debian, nema nešta svoje itd, sada kad su ljudi napravili nešto svoje i shiftali linux kao ni jedna distro do sada, opet ne valjaju (hackerima, čije distro imaju zastupljenost u promilima), ne znam koji su onda moroni ovi korisnici pa i dalje koriste distro koja ima trend nazatka, valjda bi logično bilo da raja odustaju a ne da prihvataju takav distro, mislim da nisi upravu jer cifre i raspoloženje korisnika govori drugačije, al haj ipak nije to tema.

jah još jednom, možeš korisiti su i na ubuntu (samo što je root po defaultu zaključan - a to dobro znaš samo se malo praviš :))

nisi citirao do kraja, dojadilo da kucaju su -c “command”, prebroj se

evo ako je ovo kraće i lakše napisti onda nešta nije uredu sa matematikom, uporedi:

sudo ls /

i ekivelant, “one liner”

su -c "ls /"

ovo zadnje je takođe jedna prednost korištenja sudo komande jer ti bukvalno za jednu komandu sa sudo treba manje kucanja

[quote=nedim.bfo]Jel pricamo ovdje o obicnom korisniku kojem je “npr. nidla (NHF)” istalirao ubuntu/linux ili pricamo o korisniku koji je sam sebi nabacio linux, pa je time user/admin korisnik?

Za ovoga prvoga koji nema pojma sta je x itd… super je sudo, das mu komandu kad nesto treba da mu sredis i on odradi to, bez opasnosti da postane full root i krene jebavat sistem.
Ako si ovaj drugi tip, vjerovatno znas sta radis u terminalu pa kad trebas nesto kao root udjes sa root-userom ili ti ga “su -” i odradis sta treba… Iskreno ja to tako gledam, a sad kako ko te komande koristi ili ne koristi, je tudja stvar! :S[/quote]

u oba slučaja si hadžija sa sudom :wink:

ne, ozbiljno, pogledaj što je wizz napisao, desi se da jednostavno zaspiš pa npr otpakuješ neke stvari overwritaš permisije i đe trea i đe ne treba, onda ostane ti upaljen root login

nije fol da znaš ili ne znaš ja recimo evo znam šta radim ali ipak me nervira da se non stop root-iram pa nešta uradim pa izađi pa uđi prompta me, peglancija, mislim meni je svejedno godinama sam administrirao servere gdje nije bilo sude i meni je svejedno navikneš se, ali cijela ova priča je počela tako što su me neki forumaši nanervirali :slight_smile: eto ko biva sad ko koristi sudo nije “ozbiljan” linuxaš :smiley: niđe veze, eto baš je to mjera ko koliko zna/ne zna

sjetim se onih dječijih bolesti, raja da bi se malo izdigla instaliraju slackware i kaže ja podigo slackware, ja podigo gentoo, a i dalje tabula raza

al haj nije to tema, tema su jednom da se ovo izvede na čistac, realno evo u životu kad koristiš sudo ili su šta te žulja, ja sam naveo neke stvari ostali su naveli neke stvari pa kad neko bude čitao fino to isproba pa sebi probere a ne da kad neko počne neki post i počne kucati sudo nešta da mu se trolla itd