root (superuser)

What is it?

In Unix-achtige systemen is 'root' de naam van de superuser: een account met volledige systeemrechten en toegang tot alle bestanden en instellingen. In databases zoals MySQL bestaat er vaak ook een 'root'-account met alle privileges voor beheer en configuratie. In web- en mobiele context verwijst 'root' daarnaast naar de hoogste map in een bestandssysteem (de root directory, aangeduid als '/') of naar het concept van 'root access' op een mobiel apparaat (geprivilegieerde toegang tot systeemniveau). Omdat de root-gebruiker onbeperkte macht heeft, brengt gebruik of blootstelling van dit account grote veiligheidsrisico's met zich mee; best practices adviseren minimaal privilegegebruik, het uitschakelen of beschermen van standaard root-accounts en het gebruik van specifieke service-accounts voor applicaties.

Practical example

Stel je zet een Node.js-webapplicatie op een Linux-server: als je de serverprocessen als root draait, kan een kwetsbaarheid in de app volledige controle over de server geven. Een betere aanpak is het aanmaken van een dedicated systeemgebruiker (bv. 'webapp') en het verlenen van alleen de noodzakelijke bestandsrechten aan die gebruiker, plus systeemdiensten opzetten met sudo of systemd. Voor de database: in plaats van de MySQL 'root' gebruiker in de applicatieconfiguratie te gebruiken, maak je een specifieke databasegebruiker aan met beperkte privileges (alleen SELECT/INSERT/UPDATE op de benodigde database) en verwijder of beveilig je het root-wachtwoord en externe root-login.

Test your knowledge

What is the best practice when deploying a web application on a Linux server regarding the 'root' user?

Ask Lex
Lex knows the context of this term and can give targeted explanations, examples, and extra context.
Tip: Lex replies briefly in the widget. For more detail, go to full screen mode.

Learn our language

Learn these terms from real professionals and take your skills further at KdG MCT.

Study at KdG