Skip to main content

sudo en root

Bij het zetten van rechten op files kan het zo zijn dat je jezelf buitensluit. Stel je hebt alle rechten op een file en je doet

chmod 400 file

Je geeft alleen de user/owner read rechten en je kan de file dus niet meer aanpassen. Dat betekent dat je ook de rechten niet meer kunt aanpassen. Hoe kun je dit nu oplossen?

Je kunt uitloggen en als root (super user) aan loggen en de rechten aanpassen. De root mag immers altijd alles. Maar dat heeft een paar nadelen; het is omslachtig, kost veel tijd en uiteindelijk zouden we dan gewoon alles onder root doen en nooit meer als 'gewone' user aanloggen.  Er is dus een ander manier. Door voor een commando sudo in te typen, wordt het commando als root uitgevoerd. 'sudo' staat voor Superuser Do. Dus als we de rechten niet meer kunnen aanpassen dan kunnen we met het commando

sudo chmod 660 file

de user en de group read en write rechten geven.

Niet iedereen mag zomaar sudo gebruiken. Daarvoor moet jij (jouw gerbuik) toestemming hebben. Dit configeer je in de /etc/sudoers file. Kijk maar eens naar deze file cat /etc/sudoers laat de file zien.

Bij somigen distributues van Linux, zoals CentOS, wordt er bij installatie alleen de user root aangemaakt. je moet dan aanloggen als root, een gebruiker aanmaken en deze gebruiker in de sudoers file zetten. Dat is de enige keer dat je root nodig hebt, daarna zou je omwille van veiligheid het root wachtwoord moeten veranderen en goed moeten opbergen.

Als je het sudo commando gebruikt moet je wel je eigen wachtwoord nog een keer opgeven. Dit voor de veiligheid. In grote organisaties is het heel gebruikelijk dat het root wachtwoord voor (bijna) iedereen geheim is. Het wachtwoord is bijvoorbeeld 32 willekeurige karakters lang en ligt ergens in een kluis. Iedereen die root nodig heeft kan dat via sudo. Dit heeft ook als voordeel dat je via logfiles kunt zien wie een commando heeft uitgevoerd. Als alle beheerders als root zouden inliggen dan weet je immers neit meer wie wat heeft gedaan.

Je kunt met sudo niet alleen iets als root uitvoeren; je kunt iets uitvoeren als elke willekeurige andere user. Dit gaat met sudo -u <user>

--