Geschikt voor: Versie: 14.04 LTS, 16.04 LTS
Inleiding
In Linux (en Unix in het algemeen) is er altijd een SuperGebruiker met de naam Root, vergelijkbaar met Administrator bij een Windows systeem. Deze supergebruiker heeft alle (bestandssysteem) rechten en kan alles. De SuperGebruiker gebruiken voor het dagelijkse werk kan mede daarom gevaarlijk zijn. Door een typefout in een commando kan het hele systeem vernietigd worden! Beperk het gebruik daarom, zoveel als mogelijk, tot het uitvoeren van een (1) specifieke taak. Bij uitzondering zijn de rechten van de SuperGebruiker, Root, nodig, normaal voldoen de rechten van een gewone gebruiker.
In Ubuntu is standaard de Root toegang geblokkeerd. Er is simpelweg geen Root wachtwoord dus kan er niet worden aangemeld als SuperGebruiker Root of de opdracht su worden gebruikt. Maar de SuperGebruiker, Root, bestaat wel en het is mogelijk om programma's uit tevoeren met Root rechten. Hiervoor wordt sudo gebruikt. Met sudo kunnen (gemachtigde) gebruikers bepaalde programma's als SuperGebruiker Root draaien zonder het root wachtwoord te kennen. Door de Ubuntu installatieprocedure wordt de standaard de eerste gebruiker gemachtigd om sudo te gebruiken.
Door in een terminalvenster sudo te gebruiken vóór een opdracht wordt deze opdracht uitgevoerd als SuperGebruiker Root en de bijbehorende rechten.Voor grafische programma's die root rechten vereisen, gebruikt u de grafische variant van sudo (gksudo, kdesudo). Als sudo naar een wachtwoord vraagt, geef dan het normale gebruikerswachtwoord, er is geen apart Root wachtwoord.
Bij het typen van het wachtwoord wordt NIETS getoond op het scherm.
Voor- en nadelen
Voordelen van het gebruik van sudo
- Het Ubuntu installatieprogramma vraagt niet om een apart root wachtwoord.
- Het is niet nodig dat gebruikers een extra root wachtwoord onthouden, die mogelijk weer wordt vergeten (of wordt opgeschreven met het risico op uitlekken).
- Voorkomt dat een gebruiker zomaar root gaat gebruiken om "alles te kunnen". Door sudo wordt om een wachtwoord gevraagd bij belangrijke wijzigingen aan het systeem om de gebruiker bewust te maken dat dit een ingrijpende wijziging kan zijn.
De sudo opdracht maakt een log van alle gebruikte opdrachten (in /var/log/auth.log).
- Een "indringer" weet dat er een gebruiker met de naam root aanwezig is en kan proberen het wachtwoord te raden. Dit is echter zinloos omdat root geen wachtwoord heeft.
- De mogelijkheid om beheerrechten te gebruiken kan, voor korte of langere tijd, eenvoudig aan andere gebruikers worden toegekend zonder dat een wachtwoord voor de Root gebruiker gedeeld moet worden.
- De mogelijkheden voor sudo kunnen nauwkeurig worden geconfigureerd.
Na korte tijd (15 minuten) verloopt het recht op gebruik van sudo. Er wordt dan opnieuw om het wachtwoord gevraagd. Als per ongeluk het beeldscherm onvergrendeld wordt verlaten kan iemand anders na korte tijd geen gebruik meer van sudo maken.
Nadelen van het gebruik van sudo
Hoewel het gebruik van sudo, zeker voor een desktopcomputer, veel voordelen heeft zijn er ook een paar nadelen:
Het omleiden van de uitvoer van terminalopdrachten werkt met sudo anders. Bijvoorbeeld sudo ls > /root/bestand werkt niet. In plaats daarvan kan ls | sudo tee -a /root/bestand worden gebruikt om de uitvoer aan het bestand toe te voegen of ls | sudo tee /root/bestand om het bestand te vervangen met de uitvoer.
Omdat voor iedere opdracht de tekst sudo moet worden getyped en iedere 15 minuten opnieuw om het wachtwoord wordt gevraagd is het voor zwaar gebruik minder handig.
Gebruik
sudo
Om sudo in een terminalvenster te gebruiken type sudo vóór de werkelijke opdracht :
Voorbeeld 1
sudo chown naam:naam /home/naam/*
Voorbeeld 2
sudo /etc/init.d/networking restart
Voorbeeld 3
sudo nano /etc/fstab
wachtwoord
Bij het gebruik van sudo, wordt om het wachtwoord gevraagd. Standaard wordt het wachtwoord 15 minuten lang onthouden. Daarna wordt opnieuw om het wachtwoord gevraagd.
Standaard wordt het wachtwoord NIET getoond op het scherm als het wordt ingetypt, zelfs geen sterretjes (******) of zo. Dit is om te voorkomen dat iemand over je schouder meekijkt en het aantal tekens van het wachtwoord kan zien. Voor nieuwe gebruikers is dit soms verwarrend.
Om bij het intoetsen van het wachtwoord sterretjes op het scherm te krijgen kan je de sudo configuratie aanpassen:
sudo visudo
(toets nog éénmaal het sudo wachtwoord zonder sterretjes in)
Zoek naar de regel met de tekst:
Defaults env_reset
Wijzig dit in:
Defaults env_reset,pwfeedback
Druk op Ctrl + X, gevolgd door Y en Enter.
Vanaf nu worden er sterretjes (******) getoond bij het intoetsen van het sudo wachtwoord.
geen wachtwoord
De vraag om een sudo wachtwoord kan eventueel geheel worden uitgeschakeld. Op zichzelf is dit geen veiligheidsrisico maar er is GEEN WAARSCHUWING bij het gebruik van sudo en daarom niet aan te raden voor onervaren gebruikers.
sudo visudo
Voeg onderaan de regel toe (gebruik je eigen gebruikersnaam):
gebruikersnaam ALL=(ALL) NOPASSWD: ALL
Druk op Ctrl + X, gevolgd door Y en Enter.
Het uitschakelen van het sudo wachtwoord kan bijvoorbeeld worden gebruikt voor een Ubuntu server waarop je aanmeld met een ssh-sleutel en de gebruiker geen wachtwoord heeft.
Grafisch sudo
Vanaf Ubuntu 13.04 wordt hiervoor geen pakket (gksu) meer geïnstalleerd. Gebruik een terminalvenster om grafische programma's te starten.
Het is nog mogelijk zelf pakket gksu te installeren.
Het is de bedoeling dat gksu op termijn wordt vervangen door pkexec.
Sluit het terminalvenster niet af zolang het grafische programma actief is anders zal het grafische programma (geforceerd) stoppen.
sudo -i
Er wordt om het wachtwoord gevraagd in het terminalvenster. Type het wachtwoord in (je ziet niet dat je iets intypt).
Geef dan een opdracht (zonder sudo ervoor), bijvoorbeeld:
gedit /etc/fstab
of
nautilus
Sluit na het sluiten van het grafische programma het terminalvenster af:
exit
Ubuntu versies tot en met 12.04:
Gebruik gksudo (of kdesudo op Kubuntu) om een programma uit te voeren als supergebruiker, root.
De toetscombinatie Alt-F2 kan gebruikt worden om in de grafische desktop een (gksudo) programma te starten.
De gksudo opdracht vraagt om het wachtwoord, stelt HOME=/root in en kopieert .Xauthority naar een tijdelijke map. Hierdoor wordt voorkomen dat er bestanden in de Persoonlijke map worden gemaakt waarvan root de eigenaar is.
Voorbeeld:
gksudo gedit /etc/fstab
of
kdesudo kate /etc/X11/xorg.conf
Gebruikers
Sta andere gebruikers toe om sudo te gebruiken
Met Gebruikersaccount kunnen andere gebruikers mede-beheerder worden gemaakt zodat deze ook sudo kunnen gebruiken.
Klik eerst op ontgrendelen in de rechter bovenhoek om wijzigingen te kunnen maken. Er wordt dan om een beheerwachtwoord gevraagd.
Direct bij het aanmaken van een nieuwe gebruiker kan het account-type Beheerder worden gegeven en het account-type van bestaande gebruikers kan worden gewijzigd.
Om een andere gebruiker ook het recht te geven sudo te gebruiken moet deze lid zijn van een speciale gebruikersgroep.
In een terminalvenster kan dit (vanaf Precise Pangolin, 12.04) gedaan worden met een opdracht (vervang "naam" door de gebruikersnaam).
sudo adduser naam sudo
Gebruik sudo met een andere gebruikersnaam
Gebruik dit NIET om Root te worden.
sudo -i -u andere_naam
Om bijvoorbeeld gebruiker amanda te worden:
sudo -i -u amanda
Het wachtwoord dat wordt gevraagd is het eigen wachtwoord, niet van amanda.
Gebruiker root
Activeer de gebruiker root
Waarschuwing Het is eigenlijk nooit nodig de root gebruiker te activeren. De rechten van de root gebruiker zijn te gebruiken met sudo of gksudo. Eventueel kan in een terminalscherm als root gebruiker worden gewerkt met de volgende opdracht:
sudo -i
Het activeren van de gebruiker root wordt AFGERADEN en is op eigen risico!
Gebruik een passwd opdracht om de gebruiker root te activeren door een wachtwoord te geven.
Inloggen in de grafische omgeving als gebruiker root kan leiden tot ernstige problemen.
Uitschakelen gebruiker root
Als om enige reden de gebruiker root is geactiveerd met een wachtwoord kan deze toegang weer worden uitgeschakeld met de terminalopdracht:
sudo passwd -dl root
Overige informatie
Misvattingen
Is sudo minder veilig dan su?
- In de basis zijn sudo en su hetzelfde met dezelfde zwakheden. Of nu su of sudo gebruikt wordt, in alle gevallen moet de gebruiker weten dat hij de rechten van de supergebruiker heeft met de bijbehorende risico's. Wie het wachtwoord van de gebruiker kent heeft met sudo ook alle rechten op de computer. Het is dus van belang dat het wachtwoord strikt geheim gehouden wordt, vergelijkbaar met een root wachtwoord bij su. Door sudo worden gebruikers aangespoord zo vaak mogelijk te werken zonder de extra beheer rechten en niet te snel als root gebruiker te gaan werken met een su opdracht. Per definitie komt dit de veiligheid ten goede.
Met een console terminalscherm (Ctrl-Alt-F1 enz.) kan ik de supergebruiker,root gebruiken zonder wachtwoord!
- Er is nog steeds een gebruikerswachtwoord nodig! Maar als er fysieke toegang is tot de computer zijn er wel mogelijkheden om meer rechten te krijgen. Bijvoorbeeld door de computer anders op te starten. Hiertegen zijn aanvullende maatregelen nodig (bijvoorbeeld: een grub wachtwoord of een BIOS wachtwoord). Merk op dat wie fysieke toegang heeft veel mogelijkheden heeft om beveiligingsmaatregelen te omzeilen, zoals het overplaatsen van de harde schijf in een andere computer.
Vraag om het sudo wachtwoord
Als een wachtwoord voor sudo wordt gegeven blijft dit 15 minuten geldig. Om bij een volgende keer altijd (dus ook binnen deze 15 minuten) weer om het wachtwoord te vragen kan de volgende opdracht worden gebruikt:
sudo -k
Meer bronnen
Engelstalig:
Dit is een vrije vertaling van de wiki pagina RootSudo
sudo man page
sudoers file man page
Ubuntu Forums policy on enabling the Root account
askubuntu.com/questions/284306/why-is-gksu-no-longer-installed-by-default-in-13-04