Hvad er root-brugeren i Linux, og hvordan bruger man den sikkert?

Sidste ændring: April 6 2026
Forfatter: alexandra
  • Root-brugeren er superbrugeren af ​​Linux med fuld kontrol over systemet og ingen tilladelsesbegrænsninger.
  • Moderne distributioner prioriterer brugen af ​​sudo og su til at opnå midlertidige rettigheder i stedet for at logge ind direkte som root.
  • Uforsigtig brug af root kan føre til datatab, opstartsfejl og alvorlige sikkerhedsproblemer.
  • Aktivering, blokering og revision af root-adgang, kombineret med god sudo-praksis, er afgørende for sikker administration.

root-bruger i Linux

Hvis du har brugt Linux i kort tid, er du før eller siden stødt på den berømte root-brugeren, superbrugeren, der kan gøre og fortryde ting i systemet stort set uden begrænsningerDet er den mystiske konto, der dukker op i vejledninger, den der giver dig mulighed for at installere pakker, justere sarte indstillinger eller reparere et system, der ikke vil starte ... men som også kan ødelægge din maskine med en enkelt forkert indtastet kommando.

I de fleste moderne distributioner, især Ubuntu og dets derivater, er det ikke længere almindeligt at logge ind direkte som root. I stedet er den foretrukne metode at bruge en anden bruger. Brug kommandoer som sudo og su til kun at få administratorrettigheder, når det er nødvendigtDette reducerer risici og efterlader spor i systemlogfilerne. Alligevel er en god forståelse af, hvad root er, hvordan det adskiller sig fra sudo og su, hvornår man bruger dem, hvordan man deaktiverer kontoen, og hvordan man gendanner adgangskoden, afgørende, hvis man vil navigere i Linux med lethed.

Hvad er root-brugeren i Linux, og hvorfor er den så speciel?

I ethvert Unix-lignende system (Linux, BSD, macOS osv.) er der én superbruger med en meget klar rolle: root er kontoen med UID 0 og absolut autoritet over alle filer, processer og systemressourcerDer er ingen konventionelle tilladelsesbegrænsninger; hvis root vil læse, ændre eller slette noget, vil den gøre det.

Fra denne konto kan du Installer og afinstaller programmer, opdater systemet, rediger konfigurationsfiler i /etc, administrer tjenester, opret og slet brugere, formater diske eller ændr kritiske tilladelserDet svarer til Windows "Administrator"-brugeren, men med endnu større mulighed for at få adgang til systemets indre funktioner uden begrænsninger.

Af denne grund vælger mange distributioner som Ubuntu Tillad ikke direkte root-login efter installationI stedet oprettes en normal konto (som tilhører administratorgruppen), og sudo bruges til at udføre specifikke administrative opgaver, hvilket reducerer risikoen.

I andre distributioner, såsom Debian i dens klassiske konfiguration, er det almindeligt at definere en adgangskode til root under installationen, så Superbrugeren kan bruges direkte i konsollen eller til nogle meget specifikke opgaver.selvom systemet selv også opfordrer til brugen af ​​sudo.

Udover root- og "menneskelige" brugere bruger Linux også systembrugere af tjenestetypen (daemon) med meget begrænsede tilladelserDisse særlige brugere kører processer såsom webservere, databaser eller systemdæmoner, så en sikkerhedsfejl i en tjeneste ikke automatisk giver absolut kontrol over systemet, som det ville ske, hvis alt kørte under root.

Konceptet med root-superbruger i Linux

Brugertyper i Linux og hvordan du finder ud af, hvem du er

Selvom det i praksis kan synes at være mange typer konti, er opdelingen på tilladelsesniveau meget klar: rod på den ene side og "resten" på den andenEnhver bruger, der ikke har UID 0, er teknisk set en ikke-privilegeret bruger, selvom de kan have visse ekstra tilladelser takket være sudo.

De sædvanlige arbejdskonti er normale brugere med begrænsede rettigheder på filsystemetDe kan administrere deres personlige filer, køre programmer, bruge netværket og, hvis de er i den relevante gruppe, påkalde sudo for at få yderligere rettigheder til bestemte opgaver.

Root-superbrugeren er global administrationskontoDen er ikke beregnet til daglig brug, men snarere til vedligeholdelse, avanceret konfiguration eller gendannelsesoperationer. Derfor gør mange distributioner direkte adgang til denne konto lidt mere kompliceret for at undgå overraskelser for nybegyndere og begrænse virkningen af ​​menneskelige fejl.

Hvis du nogensinde er i tvivl om, hvilken bruger du arbejder som i en terminal, kan du se på Shell-prompt: når den ender på $, bruger du en normal konto, og når den ender på #, bruger du rootDu kan også køre kommandoen whoami eller tjek den numeriske identifikator med den -uHvis du får "root" eller "0", er du i superbrugertilstand.

Derudover viser prompten normalt brugernavnet, computernavnet, den aktuelle mappe og $- eller #-tegnetFor eksempel noget i retning af alumno@equipo:/home/alumno$ indikerer en normal bruger, mens root@equipo:/root# Det afspejler en direkte administrationssession.

root, sudo og su: hvad hver især gør, og hvornår de skal bruges

I daglig brug skriver vi normalt ikke root-adgangskoden hele tiden. I stedet vælger de fleste moderne distributioner at midlertidigt hæve privilegier fra en normal konto ved hjælp af værktøjer som sudo og suSelvom de nogle gange bruges i flæng i samtaler, udfylder de forskellige roller, og det er vigtigt at skelne tydeligt mellem dem.

Kommandoen sudo (superbruger gør) tillader en autoriseret bruger at udføre en specifik kommando med tilladelser fra en anden bruger, normalt rootVed at gøre dette registreres, hvad der er blevet udført, hvem der startede det og hvornår, hvilket efterlader en post i systemets sikkerhedslogfiler.

For sin del, din (erstatningsbruger) Den er designet til ændre brugeridentitet inden for den samme terminalsessionHvis du kalder den uden parametre, vil den normalt forsøge at skifte til root (og bede om adgangskoden). Hvis du angiver et brugernavn, skifter du til den konto med dens tilladelser og miljø.

Hvordan sudo fungerer, og hvorfor det er så vigtigt

I systemer som Ubuntu, der tilhører gruppen sudo (eller "admin" i ældre versioner) betyder, at denne konto kan udfør kommandoer som root ved at indtaste din egen brugeradgangskodeuden at skulle kende superbrugeradgangskoden. Reglerne, der styrer, hvad hver person kan gøre, er defineret i filen. / etc / sudoers, som redigeres sikkert med kommandoen visudo.

For at bruge det skal du blot placere ordet foran det. sudo før kommandoen, der kræver forhøjede rettighederFor eksempel udføres pakkeinstallation normalt sådan her:

sudo apt install vlc

I dette tilfælde kører apt som root, skriver til systemmapper som /usr eller /var og logger ændringer i pakkedatabasen, selvom du stadig er logget ind med din normale bruger. Når ordren er gennemført, vender du automatisk tilbage til dine normale tilladelser..

Derudover implementerer sudo en lille "Nådens tid"Når du har indtastet din adgangskode, kan du køre `sudo` igen i et par minutter uden at blive bedt om det. Dette fremskynder administrationen, men introducerer også en lille sårbarhed, hvis nogen får adgang til din computer i løbet af den tid. Hvis du vil stramme denne politik, kan du indstille respitperioden til nul ved at redigere `sudoers` med:

Defaults:ALL timestamp_timeout=0

Således Hver gang du bruger sudo, skal du godkende igen, noget mere besværligt, men sikrere i følsomme miljøer eller miljøer med flere brugere.

`su`-kommandoen og det komplette skift til en anden konto

Kommandoen "su" derimod, Den udfører ikke en eneste kommando, men åbner i stedet en ny shell under en anden brugers identitet.Hvis det påberåbes "uden magt":

su

Systemet antager, at du vil skifte til root, og derfor Den vil bede dig om superbrugeradgangskoden.Hvis loginet lykkes, vil du se promptsymbolet ændre sig til #, og fra det øjeblik vil enhver kommando, du udfører, blive udført med root-rettigheder, indtil du logger ud. frakørsel.

Du kan også angive en specifik bruger:

su nombreusuario

Dette er meget praktisk, når du styrer tjenester, der kører med deres egne konti (f.eks. postgres, www-data osv.), og du skal fungere som dem uden at lukke din hovedsession.Igen, når du er færdig, vender du tilbage til den forrige bruger ved at bruge exit.

På systemer hvor root er låst eller ikke har nogen adgangskode (som mange Ubuntu-installationer), vil du ikke kunne skifte direkte til den konto med `su`. I disse tilfælde er den sædvanlige fremgangsmåde kædesved og hansfor eksempel:

sudo su o sudo -i

Med disse kommandoer indtaster du din brugeradgangskode (ikke root-adgangskoden) og får en administrativ shell med et miljø, der ligner direkte root-login. Dette er meget praktisk, hvis du skal udføre flere handlinger i træk, men også mere farligt, så det er tilrådeligt at logge ud af root-sessionen, så snart du er færdig.

Hvornår giver det mening at bruge root, sudo eller su?

Teorien er fin, men i hverdagen er det vigtigste hvilket værktøj der skal bruges i hver specifik situation for at arbejde hurtigt uden at risikere systemetSom en generel regel, brug sudo til specifikke kommandoer, når det er muligt, og undgå persistente root shells; hvis du vil dykke dybere ned i Hvornår og hvorfor man skal undgå sved, tjek den guide ud.

For eksempel for installere eller opdatere software I Debian- eller Ubuntu-baserede distributioner er den sædvanlige praksis:

sudo apt update
sudo apt upgrade
sudo apt install gparted

I disse scenarier tilføjer det ikke meget at logge permanent ind som root. Du får en vis bekvemmelighed, men du mangedobler risikoen ved at slette eller ændre noget, du ikke burde..

Du vil også bruge sudo når rediger systemkonfigurationsfilerfor eksempel:

sudo nano /etc/hosts
sudo nano /etc/ssh/sshd_config

På denne måde kører kun editoren med superbrugerrettigheder, og når du lukker den, vender du tilbage til dit normale privilegieniveau.

I modsætning hertil kan `su` (eller `sudo -i`) være nyttigt, når Du kommer til at kæde mange administrative operationer sammen Det ville være irriterende at tilføje `sudo` før hver kommando. For eksempel når man udfører komplekse vedligeholdelsesopgaver, administrerer flere konti, arbejder med partitioner osv. Alligevel er det god praksis at begrænse den tid, man bruger i den tilstand, og afslutte, så snart man er færdig.

En meget praktisk driftsdetalje er, at hvis du er usikker på, om du er root eller ej, kan du køre whoami o den -uHvis du får "root" eller "0", er det tid til at være yderst forsigtig, før du skriver noget destruktivt.

Vis stjerner, når du skriver adgangskoden med sudo

Som standard er mange distributioner (inklusive Ubuntu) De viser ingen tegn, når du skriver adgangskoden i konsollen.Ingen punktummer eller stjerner. Dette gøres for at undgå at afsløre nøglelængden, selvom mange brugere i praksis finder det ubelejligt, fordi de ikke har nogen visuel bekræftelse på, at de skriver.

I et stykke tid nu har sudo tilbudt en mulighed kaldet pwfeedback Dette tillader visning af stjerner på skærmen, når adgangskoden indtastes. Nogle nyere Ubuntu-udgivelser er begyndt at aktivere dette, men du kan selv aktivere det på ethvert system ved at ændre sudo-konfigurationen:

1. Åbn den sikre konfigurationseditor med:

sudo visudo

2. Inde i filen der åbnes (normalt /etc/sudoers), skal du tilføje en linje som denne:

Defaults pwfeedback

3. Gem og luk. Fra det øjeblik, Hvert tegn, du skriver, når du indtaster sudo-adgangskoden, vil blive repræsenteret af en stjerne.Hvis du senere foretrækker at vende tilbage til den klassiske opførsel (uden visuelt ekko), skal du blot fjerne linjen og gemme filen igen med Visudo.

Denne tilpasning påvirker ikke sudos kryptografiske sikkerhed, men den gør Det kan forbedre brugervenligheden for dem, der foretrækker visuel bekræftelse af, hvad de skriver.især på tastaturer uden baggrundsbelysning eller når man skriver fra eksterne terminaler.

Reelle risici ved uforsigtig brug af root

Root-kontoen er lige så kraftfuld, som den er farlig. Linux er designet med lag af beskyttelse for at gøre det svært for en normal bruger at komme til at bryde systemet ved et uheld, men Når man øger privilegier, forsvinder disse barrierer, og ethvert tilsyn kan udvikle sig til en katastrofe..

En første alvorlig risiko er utilsigtet sletning af vigtige filer eller mapperKommandoer som rm -rf / o rm -rf /* De er berømte netop fordi, hvis de udføres som root, kan slette stort set alt indhold af filsystemet på få sekunder. Men det er ikke nødvendigt at gå til den yderlighed: blot skrive stien forkert eller lade en variabel være tom, for eksempel:

rm -rf $directorio/*

Hvis `$directory` ikke er defineret som forventet, kan kommandoen pege på en helt anden placering end den, du havde til hensigt. Som root vil systemet ikke give dig for mange problemer, og når kommandoen er fuldført, Genopretning er normalt meget vanskelig eller simpelthen umulig. uden sikkerhedskopier eller retsmedicinske værktøjer.

En anden vigtig fare er udførelse af skadelig software eller scripts med fulde rettighederAt downloade et installationsprogram fra et ukendt websted og køre det med sudo eller fra en root shell giver koden absolut kontrol: den kan installere rootkits, bagdøre, keyloggere, ændre kernen eller gemme sig dybt inde i systemet. Ofte, når problemet opdages, har angriberen allerede været inde i systemet i et stykke tid.

Du skal også være forsigtig, når du Rediger kritiske filtilladelser med chmod eller chownEn ordre som chmod 000 /etc Forkert manipulation af /boot, GRUB bootloaderen eller /etc/passwd kan gøre systemet ude af stand til at boote. I sådanne tilfælde garanterer selv opstart fra en LiveCD ikke en ligetil reparation; i produktionsmiljøer kan professionelle gendannelsestjenester være nødvendige.

Endelig, fra et revisionsperspektiv, eliminerer det en masse sporbarhed at logge ind direkte som root. Når du bruger sudo, registreres hver kommando sammen med den bruger, der udførte den.Hvis alt udføres som root uden at bruge sudo, vil loggene kun sige, at "root gjorde noget", men ikke hvem der sad bag tastaturet, hvilket komplicerer undersøgelser og overholdelse af sikkerhedsforskrifter.

Aktivér, deaktiver og lås root-kontoen

Afhængigt af din distribution kan root-kontoen være Aktiveret med en adgangskode, låst eller simpelthen uden tildelt nøgleI Ubuntu-lignende systemer er root normalt deaktiveret for direkte login, mens der i andre distributioner defineres en adgangskode under installationen.

Hvis root-kontoen er låst på din maskine, kan du aktivere den fra en bruger med sudo-rettigheder ved at køre:

sudo passwd root

Systemet vil først bede om din brugeradgangskode, og derefter bede dig om at indtaste og bekræfte den nye root-adgangskode. Fra det øjeblik, Kontoen vil blive aktiveret, og du vil kunne logge ind som superbruger i virtuelle terminaler eller i nogle tilfælde endda i den grafiske brugerflade.Selvom sidstnævnte er stærkt frarådeligt.

Hvis du beslutter dig for, at du ikke længere ønsker root-adgang, kan du låse kontoen igen med:

sudo passwd -l root

Parameteren -l blokerer adgang ved at tilknytte en ugyldig adgangskode, således at Du kan ikke logge ind som root, hverken med `su` eller på loginskærmen.Autoriserede brugere vil dog stadig kunne bruge sudo til at administrere systemet, så du ikke vil stå uden måder at udføre vedligeholdelsesopgaver på.

Nogle distributioner tilbyder også muligheden for at deaktivere og genaktivere root med kombinationer som f.eks. sudo passwd -dl root o sudo passwd -u root for at låse den op. Under alle omstændigheder, Den generelle anbefaling er at holde root låst og altid arbejde med sudo undtagen i meget specifikke tilfælde, såsom rednings- eller genoprettelsesmiljøer for alvorligt beskadigede systemer.

Gendan eller skift root-adgangskoden

Det kan ske, at uanset om du har mistet din root-adgangskode, deaktiveret den, eller blot har brug for at omdefinere den på en server, hvis oprindelige konfiguration nu er glemt. Linux tilbyder flere måder at gøre dette på, afhængigt af om systemet starter op, eller om du har brug for at bruge en ekstern enhed.

Hvis din maskine stadig når GRUB boot manager, er en meget almindelig mulighed at udnytte gendannelsestilstandVed at vælge denne variant i den avancerede menu starter systemet et reduceret miljø og giver dig mulighed for at hente en konsol med superbrugerrettigheder.

Når man er inde i den skal, er det første man skal gøre Genmonter filsystemet med skrivetilladelserda den ofte er i skrivebeskyttet tilstand:

mount -o rw,remount /

Derefter kan du køre standardkommandoen for at indstille en ny adgangskode:

passwd root

Indtast den nye nøgle to gange, og for at sikre at ændringerne skrives til disken, skal du bruge:

sync
reboot

Ved genstart, Root-kontoen vil have den adgangskode, du lige har angivet.så du kan bruge den, hvor det er nødvendigt (ideelt set sparsomt og med forsigtighed).

Hvis systemet ikke engang starter, kan du ty til en LiveCD eller LiveUSB fra en Linux-distributionFor eksempel Ubuntu. Start fra det medie, vælg "Prøv" uden at installere, og åbn en terminal. Typisk bliver du først root i live-miljøet med:

sudo su

Dernæst skal du finde den partition, hvor det system, der skal repareres, er installeret, ved hjælp af noget i retning af:

fdisk -l

Når du har identificeret den korrekte enhed (f.eks. /dev/sda1), skal du montere den i en arbejdsmappe:

mkdir /mnt/recover
mount /dev/sda1 /mnt/recover

Det næste skridt er at "ændre roden" af miljøet til den monterede partitionså passwd virker på det installerede system og ikke på live-miljøet:

chroot /mnt/recover

Derfra kan du køre:

passwd root

for at indstille en ny adgangskode. Efter at have afsluttet chroot og genstartet, Det oprindelige system starter med de opdaterede superbrugeroplysninger.Det er en meget effektiv manøvre til at redde låste maskiner, men den fremhæver også, hvorfor det er vigtigt at beskytte fysisk adgang og opstart fra eksterne medier på kritiske servere.

Root-adgang i Ubuntu og sikkerhedspolitikker

Ubuntu og mange af dets derivater (Xubuntu, Kubuntu, Linux Mint osv.) har bygget deres sikkerhedsmodel på en meget klar idé: root findes, men den bruges næsten altid indirekte via sudoDette har adskillige praktiske og sikkerhedsmæssige fordele.

I en standardinstallation, Der er ikke defineret nogen adgangskode til rootDette forhindrer brugere i at logge ind direkte med denne konto på både TTY-terminaler og det grafiske miljø. I stedet tilføjes den første bruger, der oprettes under installationen, til sudo-gruppen, og alt administrativt arbejde udføres ved at hæve rettigheder fra den konto.

Denne tilgang reducerer angrebsfladen Det beskytter mod brute-force-angreb på root-kontoen (for eksempel via SSH) og minimerer risikoen for menneskelige fejl med katastrofale konsekvenser, da det tvinger administratoren til at tænke sig om, hver gang de bruger sudo.

I meget specifikke sammenhænge (laboratorier, redningsmiljøer, meget isolerede maskiner) kan det være berettiget. Tildel en adgangskode til root med sudo passwd root og tillade direkte login, men det er bedst at betragte dette som en midlertidig foranstaltning. Når problemet er løst, er det bedre at låse kontoen igen og fortsætte med at arbejde med sudo.

Derudover tilbyder Ubuntu kommandoer som f.eks. følgende til opgaver, der kræver en persistent root shell:

sudo -i o sudo su -

at De simulerer et fuldt root-login med deres eget miljø og PATHDette er nyttigt for scripts og værktøjer, der forventes at være i et "rent" rodmiljø for at fungere korrekt uden at skulle aktivere permanent direkte login.

Root-adgang via SSH: aktivering, deaktivering og sikring

På eksterne servere bliver spørgsmålet om root-adgang endnu vigtigere. Som standard fungerer de fleste Ubuntu-installationer De deaktiverer direkte root-login via SSHDette tvinger dig til at logge ind med en normal brugerkonto og derefter bruge sudo. Det er en afgørende sikkerhedsforanstaltning for at forhindre automatiserede angreb.

Hvis du af en eller anden meget berettiget grund har brug for at aktivere denne adgang, involverer den grundlæggende proces disse trin: først tildel en adgangskode til root Hvis du ikke har det:

sudo passwd root

Og rediger derefter SSH-serverkonfigurationen:

sudo nano /etc/ssh/sshd_config

I denne fil skal du finde direktivet TilladRootLoginHvis det er kommenteret ud eller i "prohibit-password", kan du ændre det til:

PermitRootLogin yes

Gem ændringerne og genstart tjenesten:

sudo systemctl restart ssh

Derfra kan du logge ind direkte som root via SSH, noget der Dette udgør en betydelig sårbarhed, hvis det kun bruges med en adgangskode.Det minimum, der er acceptabelt i dette tilfælde, ville være at kombinere det med offentlig nøglegodkendelse og, hvis muligt, begrænse adgang via IP eller via en bastion eller VPN.

For at vende situationen og styrke sikkerheden, rediger igen / Etc / ssh / sshd_config og konfigurer:

PermitRootLogin no

Eller hvis du subjektivt kun vil tillade nøgleadgang:

PermitRootLogin prohibit-password

Genstart SSH igen, og hvis du vil gå et skridt videre, lås også den lokale root-konto med:

sudo passwd -l root

således Alle fjernadministrationsopgaver skal gå gennem almindelige brugere og sudo-rettigheder., idet den er registreret og underlagt reglerne i sudoers-filen.

Bedste fremgangsmåder ved brug af superbrugerrettigheder

At mestre root, sudo og su handler ikke kun om at huske kommandoer, men om Tiltag vaner, der minimerer risiko, når du arbejder med høje privilegierDer er et par fornuftige vaner, der er værd at integrere i din daglige rutine.

Det vigtigste er altid at anvende princippet om mindste privilegier: kun at have de nødvendige tilladelser, og kun så længe som absolut nødvendigt. Oversat til Linux betyder det at bruge `sudo` til isolerede kommandoer, når det er muligt, og undgå at forblive unødvendigt i en root shell i længere perioder.

Det er også nøglen Kør aldrig scripts eller binære filer fra tvivlsomme kilder som root.Før du kører et kodestykke, du har kopieret fra internettet, skal du åbne det med en teksteditor og kontrollere præcis, hvad det gør. Hvis du ikke forstår nogen del, skal du være mistænksom. Når det kommer til downloadet software, skal du altid forsøge at hente det fra officielle arkiver, projektwebsteder eller andre velrenommerede kilder, og verificere checksummerne, hvis udvikleren udgiver dem.

Hvis du har muligheden, Først testscripts eller manualer i et isoleret miljø (en virtuel maskine, en Docker-container, et testmiljø), før du anvender dem på en produktionsserver eller din hovedmaskine, og konsulter Linux-softwaretricksDet kan spare dig for en masse besvær.

På servere med flere administratorer er det tilrådeligt at gå et skridt videre og konfigurere trøjer på en detaljeret mådeDette giver hver person mulighed for kun at udføre de kommandoer, de rent faktisk har brug for. Dette begrænser den potentielle skade ved en fejl eller en kompromitteret konto, og det opretholder også sporbarheden af, hvem der gjorde hvad på et givet tidspunkt.

Ved at overvåge disse aspekter og respektere ideen om, at Root er et værktøj til specifikke situationer, ikke en bruger der tester kampe i hverdagen.Du kan udnytte Linux' fleksibilitet fuldt ud uden unødigt at bringe dit systems stabilitet og sikkerhed i fare.

Linux-økosystemet er i høj grad afhængigt af adskillelsen mellem normal bruger og superbruger, og af mekanismer som sudo og su til kun at skifte mellem dem, når det er nødvendigt. At forstå, hvordan root fungerer, hvornår det skal bruges, hvordan det begrænses, og hvordan det gendannes i tilfælde af nødsituationer, er en nøglefaktor i at administrere enhver distribution klogt, uanset om det er på din personlige bærbare computer eller på en kritisk produktionsserver.

Sådan bruger du sudo i Linux
relateret artikel:
Sådan bruger du sudo i Linux og mestrer du sudoers-filen