Wat is root in Linux, hoe werkt het en hoe gebruik je het veilig?

Laatste update: 09/03/2026
Auteur: Isaac
  • Root is de Linux-supergebruiker met volledige controle over het systeem, in tegenstelling tot normale accounts met beperkte rechten.
  • Sudo en su zijn de belangrijkste tools om rootrechten te verkrijgen: sudo voor specifieke commando's en su voor het wisselen van gebruikers.
  • De configuratie in /etc/sudoers stelt je in staat te definiëren wie sudo mag gebruiken, welke commando's ze mogen uitvoeren en of een wachtwoord vereist is.
  • Onverstandig gebruik van root kan het systeem ernstig beschadigen, daarom is het raadzaam om het directe gebruik ervan te beperken en op sudo te vertrouwen.

root in Linux

Als je net bent overgestapt van Windows of macOS naar GNU/Linux, is een van de eerste dingen die je moet begrijpen het volgende: Hoe machtigingen werken en wie het systeem daadwerkelijk beheert.Die ‘opperste leider’ wordt genoemd wortel En als je het niet goed kent, kun je met slechts één commando al een enorme fout maken.

Het basisidee is simpel: in Linux kunnen niet alle gebruikers alles doen. Er zijn reguliere accounts met beperkingen en een speciaal account met absolute bevoegdheden. In dit artikel zullen we zien hoe dat werkt. Wat is de root-gebruiker in Linux precies, waarvoor wordt deze gebruikt, hoe gebruik je hem verstandig en welke risico's loop je bij onzorgvuldig gebruik?Naast het gedetailleerd doornemen van de commando's sudo y suBeheer van root-wachtwoorden en enkele praktische tips.

Wat is root in Linux en welke soorten gebruikers zijn er?

In elk Unix-achtig systeem, inclusief GNU/Linux, gebruikt de gebruiker Root is de supergebruiker die alles kan doen en ongedaan maken wat hij wil.U kunt bestanden lezen, wijzigen of verwijderen, software installeren of verwijderen, machtigingen wijzigen, schijven formatteren of de computer uitschakelen wanneer u maar wilt.

Om te begrijpen waarom een ​​wortel bestaat, is het nuttig om onderscheid te maken tussen soorten accounts die naast elkaar bestaan ​​in een typisch Linux-systeemGrofweg onderscheiden we drie categorieën: normale gebruikers, de rootgebruiker zelf en speciale systeemgebruikers die door services en daemons worden gebruikt.

De Normale gebruikersaccounts zijn bedoeld voor dagelijks gebruik.Ze kunnen browsen, programmeren, documenten bewerken, spelletjes spelen... Ze hebben beperkte toegang tot cruciale onderdelen van het systeem, kunnen geen pakketten globaal installeren of schrijven naar mappen zoals: / Etc, / usr o / var zonder de privileges te vergroten.

Aan de andere kant bevindt zich root, wat gelijkwaardig is aan de administrator in Windows, maar met nog meer handelingsvrijheid.Voor deze gebruiker zijn er vrijwel geen verboden zaken: ze kunnen systeembestanden wijzigen, het opstartproces verstoren, de machtigingen en eigenaren van alles wat ze maar willen aanpassen, en zelfs het hele bestandssysteem verwijderen met één enkele, slecht uitgevoerde opdracht.

Daartussen bevindt zich een minder zichtbare categorie: de zogenaamde systeem- of servicegebruikers (daemon)Dit zijn accounts zonder interactieve sessies, met zeer beperkte rechten, die worden gebruikt om diensten zoals webservers, databases of systeemdaemons veiliger te laten werken.

Hoe machtigingen en de sudo-groep werken

Linux neemt privilegescheiding van nature zeer serieus: Een gewone gebruiker kan het systeem niet wijzigen zonder daar expliciet toestemming voor te vragen.Dit kan even schrikken zijn als je gewend bent aan een systeem waar je account altijd beheerdersrechten heeft.

Om een ​​gewone gebruiker in staat te stellen af ​​en toe administratieve taken uit te voeren, is er een speciale groep. sudoElk account dat tot deze groep behoort, kan Voer specifieke commando's uit met rootrechten met behulp van het sudo-commando..

Een gebruiker toevoegen aan de juiste groep is heel eenvoudig: voer gewoon zoiets uit als sudo usermod -aG sudo usernameVanaf dat moment wordt die gebruiker een "sudoer" en kan hij of zij de machtigingen verhogen wanneer dat nodig is.

Het verwachte gedrag is dat, bij het uitvoeren van bijvoorbeeld sudo apt-get updatehet systeem verzoekt om het wachtwoord van die gebruiker (niet de root-directory) en, als deze correct is en u daartoe gemachtigd bent, voer de opdracht uit met beheerdersrechten.

Dit mechanisme maakt het mogelijk dat Het is niet nodig om als root in te loggen voor onderhoudstaken.In veel moderne distributies is het zelfs de aanbevolen en standaard enige ondersteunde manier om met verhoogde bevoegdheden te werken.

Wat is een root en waarvoor wordt deze in de praktijk gebruikt?

Als we het over de root-gebruiker hebben, bedoelen we het account dat Het concentreert alle beheerdersrechten over het systeem.Het is onmisbaar voor veel taken, maar het directe gebruik ervan moet beperkt worden, omdat een fout met deze boekhouding meestal onherstelbaar is.

Het goede nieuws is dat je bijna nooit rechtstreeks als root hoeft in te loggen: Je kunt tijdelijke privileges aanvragen met sudo of su.Voer uit wat je nodig hebt en ga daarna weer aan de slag als een normale gebruiker.

In het dagelijks gebruik zijn de meest voorkomende toepassingen van 'wortel' (direct of indirect) onder andere de volgende:

  • Software installeren en verwijderenElke pakketbeheerder (apt, dnf, pacman, enz.) heeft supergebruikersrechten nodig om programma's op systeemniveau te installeren, bij te werken of te verwijderen.
  • Kritieke configuratiebestanden bewerken: bestanden zoals / Etc / hosts, / Etc / fstab, / Etc / passwd Of serviceconfiguraties kunnen alleen met verhoogde bevoegdheden worden gewijzigd.
  • Het wijzigen van wachtwoorden voor systeemaccounts, inclusief het rootwachtwoord.: commando's zoals wachtwoord root Ze hebben speciale machtigingen nodig om de wachtwoordendatabase bij te werken.
  • Uitvoering van potentieel destructieve commando's: hulpmiddelen zoals rm, chmod, chown o mkfs Ze kunnen het systeem vernietigen als ze misbruikt worden; daarom eisen ze privileges om op gevoelige routes te mogen opereren.
  • SysteembeheeractiesHet herstarten, afsluiten, beheren van services, koppelen en ontkoppelen van partities, beheren van gebruikers en groepen... dit alles vereist supergebruikersrechten.
  Volledige gids over SysRq-sleutel in Linux

Telkens wanneer een actie een bericht retourneert "Toegang geweigerd"De kans is groot dat dezelfde opdracht, uitgevoerd met sudo of als root, probleemloos zal verlopen... de vraag is echter of dit wel verstandig of veilig is.

sudo-opdracht: uitvoeren als root terwijl je jezelf blijft

Het commando sudo Het is tegenwoordig de aanbevolen manier om Een specifiek commando uitvoeren met supergebruikersrechten. Je behoudt je normale gebruikersidentiteit. Het is alsof je voor een paar seconden root-toegang krijgt.

Het basisgebruik bestaat uit: Voeg het woord 'sudo' toe vóór de opdracht die u met beheerdersrechten wilt uitvoeren.Als je bijvoorbeeld een programma uit de repositories wilt installeren op een op Debian gebaseerde distributie, typ je zoiets als: sudo apt gparted installeren.

Daardoor zal het systeem u vragen je eigen gebruikerswachtwoord (als u tot de sudoers-groep behoort). U wordt niet om het root-wachtwoord gevraagd, wat een aanzienlijk voordeel is vanuit veiligheidsoogpunt, omdat niemand het hoofdwachtwoord van het systeem hoeft te weten.

Zodra u het wachtwoord invoert en het is gevalideerd, Alleen dat commando wordt uitgevoerd met root-rechten, waarna de gebruikelijke beperkingen weer van kracht zijn.Met andere woorden, je wordt geen root-gebruiker; je voert simpelweg een commando uit "namens de root-gebruiker".

Daarnaast bevat sudo een “tijd van genade”Na een succesvol gebruik kun je meestal een paar minuten lang meer commando's uitvoeren met `sudo` zonder opnieuw om je wachtwoord te worden gevraagd. Dit is handig, hoewel sommigen het als een klein beveiligingsrisico beschouwen. Als iemand in die periode de controle over je sessie overneemt, kan diegene namelijk gevaarlijke commando's uitvoeren zonder je wachtwoord nodig te hebben.

`su` commando: gebruiker wisselen (en root worden)

Het commando su Het komt van "vervangende gebruiker" en is bedoeld voor Schakel tussen accounts vanaf de terminal zonder uit te loggen uit de huidige sessie.Wat het doet, is een nieuwe shell openen als een andere gebruiker.

Als je gewoon rent su Zonder argumenten gaat het systeem er standaard vanuit dat u dit wilt. wortel schietenIn dat geval wordt er om het wachtwoord van het root-account gevraagd en als dat correct is, krijg je een prompt om als supergebruiker te worden aangemaakt.

Je kunt het gebruiken om over te schakelen naar een andere gebruiker door te typen. je gebruikersnaamIn dat geval wordt u gevraagd om het wachtwoord van die specifieke gebruiker in te voeren, en als u dit correct invoert, Hun identiteit blijft behouden, maar u blijft werken in de omgeving van de vorige gebruiker. tenzij je bepaalde opties doorgeeft.

Om "in te loggen alsof u grafisch bent ingelogd" met die gebruiker (d.w.z. om hun omgeving, variabelen, thuismap, enz. te laden), wordt aanbevolen om het volgende te gebruiken: su - o jouw – gebruikersnaam. De optie - (gelijkwaardig aan -l o -login) forceert een loginshell.

Terwijl je onder zijn hoede bent, Alle opdrachten die u uitvoert, worden uitgevoerd met de identiteit van de gebruiker waarnaar u bent overgeschakeld.Om terug te keren naar je oorspronkelijke account, typ je gewoon het volgende: afrit, waarmee je terugkeert naar de vorige shell.

Verkrijg een root-sessie en vergelijk deze met sudo.

Hoewel het niet de veiligste methode is, kan het in sommige situaties wel nuttig zijn. een tijdje werken met een root shellBijvoorbeeld bij zeer intensieve administratieve of hersteltaken.

In distributies waar het root-account is ingeschakeld, hoeft u alleen maar het volgende commando uit te voeren: su - en voer het root-wachtwoord in. Vanaf dat moment zul je zien dat de prompt meestal verandert en Het symbool $ wordt vervangen door het symbool #.Een duidelijke visuele aanwijzing dat je in de "alles mag"-modus speelt.

In systemen zoals Ubuntu, waar root standaard vergrendeld is, is het gebruikelijker om te gebruiken sudo -iDeze opdracht geeft u het volgende: een inlogshell als root met je eigen wachtwoord (als u gemachtigd bent om sudoers te gebruiken), zonder dat u een ander wachtwoord hoeft te onthouden.

Het fundamentele verschil met "normaal" sudo is dat `sudo -i` zet je in een permanente root-sessie.Je kunt opdrachten aan elkaar koppelen zonder voor elke opdracht `sudo` te plaatsen, totdat je typt... afrit en keer terug naar je gebruikersaccount.

Qua veiligheid is het redelijker. Gebruik sudo voor specifieke commando's. Reserveer de root-shell alleen voor zeer specifieke gevallen. Hoe meer tijd je als root doorbrengt, hoe groter de kans dat je per ongeluk iets gevaarlijks uitvoert.

Het bestand /etc/sudoers en geavanceerde sudo-instellingen

Achter de magie van sudo schuilt het bestand / Etc / sudoers, waar het gedefinieerd is Wie kan sudo gebruiken, vanaf welke locatie en welke commando's kunnen ze uitvoeren?Het is een gevoelig bestand: onjuiste bewerkingen kunnen ertoe leiden dat u geen verhoogde bevoegdheden meer kunt verkrijgen.

Daarom wordt sterk aangeraden om het commando te gebruiken. visudo om het te wijzigen. Deze tool Open /etc/sudoers in je favoriete editor en controleer de syntaxis voordat je opslaat.Als je een fout hebt gemaakt, krijg je een waarschuwing en wordt voorkomen dat er een beschadigd bestand achterblijft.

  Systeemservicedescriptortabel: sleutel tot Windows-beveiliging en -prestaties

In een typisch systeem zie je lijnen zoals wortel ALL=(ALL:ALL) ALLdie aangeven dat Root kan elk commando uitvoeren, net als elke gebruiker en groep, vanaf elke host.Inschrijvingen voor speciale groepen zoals %sudo o %adminwaardoor hun leden sudo kunnen gebruiken.

Het bestand ondersteunt Gebruikersaliassen, commando's en uitvoeringscontextenDit is erg handig om te voorkomen dat je elke keer enorme lijsten moet schrijven. Je kunt bijvoorbeeld meerdere gebruikers in één groep plaatsen. Gebruikersalias en diverse gevaarlijke bevelen in een Commandant Alias en vervolgens regels definiëren zoals "deze groep mensen kan deze reeks opdrachten uitvaardigen".

Er zijn ook labels zoals NOPASSWD o noexec die worden gebruikt om het gedrag van sudo aan te passen. De bekendste is NOPASSWD, die Hiermee kun je bepaalde commando's uitvoeren met sudo zonder dat er om een ​​wachtwoord wordt gevraagd.Handig in automatiseringen of scripts waar niemand het wachtwoord kan invoeren.

Sta root-opdrachten toe zonder wachtwoord te vereisen.

In sommige zeer specifieke situaties kan het interessant zijn. Sta een gebruiker toe om een ​​of meer opdrachten met rootrechten uit te voeren zonder een wachtwoord in te voeren.Bijvoorbeeld: de computer uitschakelen met een knop, een kernelmodule herladen vanuit een script of een geplande taak uitvoeren.

Hiervoor wordt doorgaans een commando-alias aangemaakt in / Etc / sudoers en wordt vergezeld door het label NOPASSWD:Een klassiek voorbeeld zou zoiets zijn. myuser ALL=NOPASSWD: /sbin/shutdown, /sbin/rebootDit geeft die gebruiker de bevoegdheid om het systeem af te sluiten of opnieuw op te starten zonder dat sudo om het wachtwoord vraagt.

Je kunt ook definiëren Gebruikersaliassen (User_Alias) en commando-aliassen (Cmnd_Alias) om het te vereenvoudigen: bijvoorbeeld door meerdere beheerders in GROUP te groeperen en meerdere energiebeheeropdrachten in POWER, en vervolgens in te stellen GROUP ALL = NOPASSWD: POWER.

De sleutel is binnen Ga niet over de schreef en geef niet overal NOPASSWD aan.Idealiter zou het beperkt moeten blijven tot de strikt noodzakelijke commando's en, indien mogelijk, tot bepaalde hosts of specifieke netwerken met behulp van hostaliassen.

Leuk weetje: het toevoegen van de optie beledigingen naar de lijn van Standaardwaarden In sudoers kun je het sudo maken. Ik zal je een "beleefde belediging" in het Engels geven als je het verkeerde wachtwoord invoert.Het verbetert de veiligheid niet, maar het maakt de ervaring zeker leuker.

Risico's van onzorgvuldig gebruik van Root

Het hebben van supergebruikerstoegang is essentieel, maar Onzorgvuldig gebruik van root is de snelste manier om je systeem te ruïneren.Linux is ontworpen om robuust te zijn, maar als je alles als root uitvoert, blindelings bestanden verwijdert of zonder het te weten machtigingen wijzigt, zijn er geen wonderen te verwachten.

Een van de bekendste gevaren is de onbedoelde verwijdering van cruciale onderdelen van het bestandssysteem. Opdrachten zoals rm-rf / o rm -rf /* Ze zijn levensgevaarlijk als ze als root worden uitgevoerd: binnen enkele seconden kunt u zonder besturingssysteem komen te zitten.

Soms is het probleem niet eens een overduidelijk gevaarlijk commando, maar het effect van een slecht uitgewerkte variabeleAls je bijvoorbeeld zoiets schrijft als rm -rf "$directory"/* En als de variabele leeg is vanwege een fout in je script, kan het gebeuren dat je een locatie verwijdert die je niet wilde verwijderen.

Een ander ernstig risico is het uitvoeren van de opdracht als root. scripts of installatieprogramma's die zonder controle van internet zijn gedownloadAls de inhoud kwaadaardig is, kan een aanvaller rootkits, backdoors of spyware met volledige toegang installeren, zich in het systeem nestelen en zich op kernelniveau verbergen.

Je moet ook voorzichtig zijn wanneer Wijzig de machtigingen voor gevoelige paden met chmod of chown.Een commando zoals chmod 000 /etc/ of een enorme verandering in /bagageruimte Of het kan ervoor zorgen dat de bootloader (GRUB) het systeem in een toestand achterlaat waarin het zelfs niet meer opstart, waardoor je gedwongen wordt om noodmaatregelen te nemen.

Om deze redenen is het, wanneer je met sudo werkt, een goed idee om su of root te gebruiken. Controleer de opdracht nogmaals en verifieer het pad met `ls` voordat je `rm` gebruikt.En als je twijfels hebt, doe dan niets totdat je zeker weet wat er gaat gebeuren.

Waarom schakelen veel distributies root standaard uit?

Distributies zoals Ubuntu en andere afgeleiden kiezen voor Blokkeer het root-account vanaf het allereerste begin. en alle beheertaken delegeren aan sudo. Dit is een ontwerpkeuze die gericht is op het verminderen van risico's, met name voor onervaren gebruikers.

Dit betekent dat, hoewel root intern bestaat, Je kunt met dat account niet inloggen omdat er geen geldig wachtwoord aan is gekoppeld.In plaats daarvan wordt de gebruiker die tijdens de installatie is aangemaakt, automatisch toegevoegd aan de sudo-groep.

Dit levert geen problemen op voor het dagelijks leven: Je kunt programma's installeren, het systeem bijwerken of instellingen wijzigen met behulp van sudo wanneer dat nodig is.Dit voorkomt dat mensen inloggen als root en permanent met onbeperkte rechten kunnen werken.

Mocht u echter om welke reden dan ook een root-wachtwoord nodig hebben, Je kunt het account inschakelen door er een wachtwoord voor in te stellen met `sudo passwd root`.Vanaf dat moment kun je overschakelen naar root met `su` of zelfs grafisch inloggen met dat account (iets wat niet aan te raden is).

Als u later toch weer terug wilt naar het oorspronkelijke, veilige gedrag, kunt u dat altijd doen. Vergrendel het account opnieuw met sudo passwd -dl rootDit voorkomt direct gebruik ervan, hoewel sudo nog steeds zal werken voor geautoriseerde gebruikers.

  CSRF: wat het is, hoe het werkt, voorbeelden en verdedigingen

Schakel het root-account tijdelijk uit.

In omgevingen waar meerdere mensen dezelfde computer gebruiken, kan het voorkomen dat Het root-wachtwoord wordt uiteindelijk van hand tot hand doorgegeven.Dit opent de deur naar ongewenste wijzigingen of ongecontroleerde software-installaties.

Een manier om dit te verzachten is Blokkeer het root-account met `sudo passwd -l root`Met dit commando wordt het root-wachtwoord uitgeschakeld. Het voorkomt dat je als root kunt inloggen of root-acties kunt uitvoeren.waardoor het systeem operationeel blijft voor degenen die tot de betreffende groep behoren.

Als je root op deze manier blokkeert, moet iedereen die beheerderstaken wil uitvoeren... Gebruik sudo met je eigen gebruikerssleutel.Dit zorgt voor een beter spoor en vermindert de noodzaak om een ​​hoofdwachtwoord te delen.

Mocht je op enig moment weer root-toegang met het bijbehorende wachtwoord nodig hebben, dan kun je dat eenvoudig doen. Stel een nieuw wachtwoord in met sudo passwd rootHiermee wordt het account opnieuw geactiveerd, zodat u er weer mee kunt werken zoals voorheen.

Deze aanpak is vooral nuttig in Gedeelde computers, klaslokalen of kleine servers waar het niet wenselijk is dat zomaar iedereen zonder controle root-toegang kan krijgen.Het is echter raadzaam om een ​​flexibel beheermechanisme te handhaven.

Herstel of verkrijg het root-wachtwoord

Het kan zijn dat Mogelijk hebt u het root-account uitgeschakeld of bent u uw wachtwoord vergeten.Gelukkig bieden de meeste Linux-distributies dit aan. Herstelmethoden via de opstartmanager zelf of met behulp van een LiveCD..

Een veelgebruikte methode is om gebruik te maken van het menu van GRUBWanneer u de computer opstart, kunt u toegang krijgen tot de geavanceerde opties en selecteer de modus Recovery ModeVan daaruit is er meestal een ingang. wortel waarmee een supergebruikersconsole wordt geopend, waarbij het systeem in alleen-lezenmodus is gekoppeld.

Om je wachtwoord te wijzigen heb je het volgende nodig: traceer terug naar de root met schrijfrechten usando algo como mount -o rw,opnieuw monteren /Dan hoef je alleen nog maar te starten. wachtwoord rootVoer een nieuw wachtwoord in en voltooi het proces. sync y opnieuw op te starten Om de wijzigingen op te slaan en opnieuw op te starten.

Als deze methode niet werkt of als je liever een andere optie hebt, kun je altijd terugvallen op een LiveCD of LiveUSB van welke distributie dan ook (bijvoorbeeld Ubuntu). Je start op vanuit het midden, kiest de optie "probeer zonder te installeren" en opent een terminal.

In die terminal krijg je eerst tijdelijk root-toegang met sudo suDan gebruik je fdisk -l voor Identificeer de partitie waarop de Linux-distributie die u wilt repareren is geïnstalleerd. (bijvoorbeeld /dev/sda1), en je maakt een mountpunt zoals mkdir /mnt/recover gevolgd door mount /dev/sda1 /mnt/recover.

Vervolgens voer je de volgende actie uit. chroot /mnt/recover voor "Betreed" dat systeem alsof het je eigen systeem is. en uiteindelijk gooi je het weg wachtwoord root Om een ​​nieuw supergebruikerswachtwoord in te stellen. Na het afsluiten en opnieuw opstarten zal het systeem opstarten met het nieuw geconfigureerde wachtwoord.

Dagelijks beheer met root-rechten: voorbeeld van bestanden, machtigingen en basiscommando's

Los van de pure theorie is de aanwezigheid van de rootgebruiker het meest merkbaar tijdens het werken in systeemmappen en onderhoudswerkzaamhedenAls u bijvoorbeeld een gedownload lettertype naar een algemene lettertypemap wilt verplaatsen, hebt u die rechten nodig.

Stel je voor dat je een bestand hebt met de naam Underdog (zowel in ZIP-formaat als in een map) in je map. Downloads en je wilt het plaatsen in / usr / share / fonts /Aangezien dit een beveiligde route is, moet u gebruikmaken van sudo cp o sudo mv Om deze bestanden en mappen naar de bestemming te kopiëren of te verplaatsen.

Op dezelfde manier geldt dit voor Het systeem bijwerken via de terminal. Je gooit zoiets als sudo apt update gevolgd door sudo apt upgrade Op Debian-gebaseerde distributies geeft de pakketbeheerder zonder sudo een permissiefoutmelding wanneer je de statusbestanden probeert te openen.

Bij het navigeren door systeempaden is het erg handig om commando's zoals te beheersen. ls, cp, mv, rm, chmod of chownls toont de inhoud, cp en mv kopiëren of verplaatsen, rm verwijdert, chmod past de machtigingen numeriek aan (bijvoorbeeld 644 zodat de eigenaar kan lezen en schrijven en de rest alleen kan lezen) en chown wijzigt de eigenaar.

Operaties zoals Wijzig de eigenaar van een bestand naar je eigen gebruikersaccount met het commando `chown`. Ze kunnen je behoeden voor het constant gebruiken van sudo. Normaal gesproken zou je zoiets uitvoeren als: sudo chown debian:debian file zodat "Debian" vanaf dat moment dat bestand kan manipuleren zonder bevoegdheden te hoeven verhogen.

Kortom, een goed begrip van wat root is, hoe sudo en su samenwerken, hoe je /etc/sudoers configureert en de gevaren van misbruik van supergebruikersrechten stelt je in staat om Haal het maximale uit Linux zonder je systeem in gevaar te brengen met elk commando.Verstandig gebruikt is de supergebruiker een krachtig hulpmiddel voor het beheren van servers en pc's; onzorgvuldig gebruikt, is het de snelste manier om alles opnieuw te moeten installeren.

chroot
Gerelateerd artikel:
Complete gids voor het creëren van een chroot-jail in Linux: stappen, toepassingen en tips