Nieuws:

Welkom, Gast. Alsjeblieft inloggen of registreren.
Heb je de activerings-mail niet ontvangen?

Auteur Topic: sudo sh -c  (gelezen 1296 keer)

Offline dallco

  • Lid
    • stormsail.nl
sudo sh -c
« Gepost op: 2009/01/06, 19:46:04 »
Bij de pogingen mijn gecombineerde Mythbuntu/XBMC mediacenter (toppertje) automatisch te laten starten liep ik tegen het volgende probleem op.
het commando  echo 0 > /sys/class/rtc/rtc0/wakealarm  laat zich niet uitvoeren met een "gewone" sudo. Je moet root zijn om dit te doen.
Op een site kwam ik de volgende oplossing tegen die wel werkt met een sudo

sudo sh -c 'echo 0 > /sys/class/rtc/rtc0/wakealarm'
Maar wat betekent en doet  sudo sh -c ??
Blije (L)Ubuntu gebruikende familie  12.04 en 13.10

Offline mp

  • Lid
Re: sudo sh -c
« Reactie #1 Gepost op: 2009/01/06, 19:48:15 »
Doe eens man sh

Offline dallco

  • Lid
    • stormsail.nl
Re: sudo sh -c
« Reactie #2 Gepost op: 2009/01/06, 20:01:38 »
Das een hele lap text!

Betekent dat dat ik als root altijd rechtstreeks met die shell werk?
Blije (L)Ubuntu gebruikende familie  12.04 en 13.10

Offline vanadium

  • Lid
Re: sudo sh -c
« Reactie #3 Gepost op: 2009/01/06, 21:06:53 »
"sudo" betekent: "voer uit als super user (=root, = administrator)

sh is een shell. Standaard gebruiken we onder linux de bash shell, maar er zijn meerdere mogelijke shells op een linux systeem. Eigenlijk is "sh" een meer primitive versie van "bash". Je zou "sh" hier ook door "bash" kunnen vervangen.

-c betekent: voer het commando dat hierna komt, uit. Tussen de quotes staat het commando, een "echo".

Die "ingewikkelde" constructie wordt opgezet om als root naar /sys/class/rtc/rtc0/wakealarm te kunnen schrijven. Als gewone gebruiker mag je dat niet.

Mocht je eenvoudig dit doen:

sudo echo 0 > /sys/class/rtc/rtc0/wakealarm

Dan zou het echo commando als root uitgevoerd worden, maar het omleiden van de uitvoer naar /sys/class/rtc/rtc0/wakealarm zou als gewone gebruiker gebeuren, en dus een permissiefout opleveren. Vandaar die iets meer ingewikkelde "truck".

Offline Johan van Dijk

  • Administrator
    • johanvandijk
Re: sudo sh -c
« Reactie #4 Gepost op: 2009/01/06, 21:14:18 »
echo 0 | sudo tee /sys/class/rtc/rtc0/wakealarm
Niks moeilijks aan ;)

Offline dallco

  • Lid
    • stormsail.nl
Re: sudo sh -c
« Reactie #5 Gepost op: 2009/01/06, 22:49:24 »
Vanadium: Opgelost en bedankt! voor je duidelijke uitleg. Met deze Jip en Janneke taal leer ik ook nog eens echt linux te gebruiken.

Johan: De "sudo tee" ga ik nog eens op mijn gemak bestuderen tijdens een lekker bakkie super user do mij maar thee?   ;)

 Frank
Blije (L)Ubuntu gebruikende familie  12.04 en 13.10

Offline Johan van Dijk

  • Administrator
    • johanvandijk
Re: sudo sh -c
« Reactie #6 Gepost op: 2009/01/06, 23:05:22 »
Met tee kan je in bestanden schrijven of eraan toevoegen.
Het werkt dus hetzelfde als echo "bla" > bestand en echo "bla" >> bestand.
Dat wordt dan echo "bla" | tee bestand en echo "bla" | tee -a bestand.
Het voordeel van tee is dat sudo dus wel werkt :)
"man tee" voor de uitleg.

Thee met of zonder suiker? Of honing? :D

Offline ivo

  • Lid
Re: sudo sh -c
« Reactie #7 Gepost op: 2009/01/06, 23:15:50 »
echo 0 | sudo tee /sys/class/rtc/rtc0/wakealarm
Niks moeilijks aan ;)

Maak jij het ff lekker makkelijk met 'tee', voor een newbie.
Is het een newbie eigenlijk?
Respect voor newbies, true guts, diehards!!!
There are only 10 types of people in the world; those who understand binary and those who don't.

Offline icehawk

  • Lid
Re: sudo sh -c
« Reactie #8 Gepost op: 2009/01/06, 23:16:50 »
man tegen vrouw: "Maak voor mij een kopje thee"
Vrouw: "doe het effe lekker zelf!"
Man: sudo, maak voor mij een kopje thee"
Vrouw: ok

Altijd handig.... sudo ;)
Ubuntu verbrijzelde de kop van Windows. Windows beet slechts de hiel van Ubuntu.