- Root er Linux-superbrukeren med full kontroll over systemet, utover vanlige tillatelsesbegrensninger.
- Vanlig praksis er ikke å logge inn som root, men å bruke sudo eller su for å få forhøyede rettigheter på en kontrollert og midlertidig måte.
- Uforsiktig bruk av root kan slette systemet, installere skadelig programvare eller kompromittere sikkerheten, så det anbefales å minimere bruken og gjennomgå kommandoer.
- Riktig konfigurering av sudoere, låsing av root-kontoen og å følge beste praksis muliggjør sikker og sporbar Linux-administrasjon.

Hvis du kommer fra Windows (se brukerkontoer i Windows ) og lander på Linux, kan den berømte root-brukeren høres ut som tull, men det er faktisk nøkkelelementet som skiller et stabilt og sikkert system fra en fullstendig katastrofe. Root er den "absolutte sjefen" over systemet, den som kan installere, slette, ødelegge og fikse praktisk talt hva som helst uten å spørre om tillatelse.
Å forstå formålet med root i Linux, forholdet til `sudo` og `su`, og de tilhørende risikoene, er viktig for å administrere systemet ditt, enten det er en bærbar PC hjemme eller en produksjonsserver . Denne artikkelen vil forklare, i detalj og med et lettfattelig språk, hva root er, hvordan det brukes i forskjellige distribusjoner (spesielt Ubuntu), potensielle farer og beste praksis for å unngå å gjøre maskinen din ubrukelig.
Hva er root-brukeren i Linux, og hva gjør den spesiell?
I ethvert GNU/Linux-system finnes det en bruker med fulle rettigheter kalt root, også kjent som superbruker . Denne brukeren har UID 0 og er ikke underlagt de vanlige begrensningene for fil- og prosesstillatelser: den kan lese, endre eller slette enhver fil, installere eller avinstallere programvare, endre systeminnstillinger, administrere andre brukere og få tilgang til kritiske tjenester.
Hvis du sammenligner det med Windows, ville root tilsvare administrator, men med enda mer kraftFordi tillatelsesmodellen i Linux er mer raffinert og skillet mellom brukere og tjenester er mye strengere. Mens en vanlig bruker er begrenset i hva de kan gjøre i stier som /etc, /usr, /var o /bootRoot-tilgang lar deg komme inn overalt uten å be om tillatelse.
I tillegg til vanlige brukere og root, definerer Linux "systembrukere" eller tjenestekontoer (daemoner) med svært begrensede tillatelser som brukes til å kjøre webservere, databaser eller andre daemoner. Dette sikrer at selv om en tjeneste blir kompromittert, får ikke angriperen automatisk full tilgang til systemet ... med mindre de klarer å eskalere rettigheter til root.
Som standard kan ikke en standardbruker installere systemprogrammer, endre globale konfigurasjonsfiler eller opprette mapper i sensitive områder.For å utføre noen av disse oppgavene, må du heve privilegiene ved hjelp av verktøy som sudo o susom nettopp er de vanlige mekanismene for å "påkalle" superbrukeren på en kontrollert måte.
I mange moderne distribusjoner, spesielt Ubuntu og dets derivater, er direkte root-pålogging deaktivert.I stedet opprettes det en vanlig bruker under installasjonen som tilhører administratorgruppen (for eksempel sudo o admin) og kommandoen brukes sudo å utføre administrative handlinger ved å be om ditt eget passord, ikke root-passordet.
Forskjellen mellom vanlige brukere, root og sudo-gruppen
Linux implementerer et tillatelsessystem basert på brukere og grupper . Grovt sett kan vi skille mellom tre hovedtyper kontoer som du vil støte på i daglig bruk når du snakker om root:
Vanlige brukereDette er kontoene til personene som bruker systemet. De har en hjem De kan installere programmer i sin egen katalog, kjøre skrivebordsapplikasjoner, lagre dokumenter osv. Imidlertid, De kan ikke utføre systemadministrative oppgaver hvordan installere globale pakker, endre konfigurasjoner i /etc eller administrere andre brukere, med mindre de bruker sudo o su.
Root-brukeren er superbrukeren med absolutt kontroll. Den er ikke underlagt tillatelsesbegrensninger bortsett fra de som er pålagt av selve kjernen eller avanserte sikkerhetsmekanismer . Den kan bokstavelig talt "gjøre som den vil", fra å slette rotkatalogen til å endre tillatelsene til en hvilken som helst fil. Nettopp av denne grunn frarådes bruken til hverdagsoppgaver.
Administratorbrukere (sudoere)er vanlige brukere som tilhører en spesiell gruppe (vanligvis sudo o admin) Og De har tillatelse til å utføre kommandoer som root ved å bruke sudoFor eksempel, for å legge til en bruker i gruppen sudo Du kan bruke noe slikt:sudo usermod -aG sudo nombreusuario
Når en bruker er en del av sudo-gruppen, kan de utføre privilegerte kommandoer ved å sette prefikset sudoSystemet vil be om passordet ditt (ikke root-passordet), og hvis det er riktig, vil det utføre kommandoen med superbrukerrettigheter. Dette gir en god balanse mellom sikkerhet og bekvemmelighet.
Hva er rot i praksis, og hva brukes det til?
Utover teorien er root-brukeren identiteten systemet bruker til å gjøre eventuelle dyptgående endringer . Du kan fortsette å jobbe med din vanlige brukerkonto og bare få tilgang til root når det er nødvendig. La oss se på noen av hovedbruksområdene.
Installer eller avinstaller systemprogramvarePakkebehandlere (som for eksempel) apt, dnf o pacmanDe må skrive til beskyttede stier, så De kjører alltid med root-rettigheterEt typisk eksempel ville være:sudo apt install vlc
Rediger systemkonfigurasjonsfilerDe fleste systemtjenester og programmer konfigureres via tekstfiler i kataloger som /etcFor å åpne dem med en editor og lagre dem, trenger du utvidede rettigheter. For eksempel:sudo nano /etc/hosts
Endre root-passordet eller andre brukerpassordOperasjoner som å endre superbrukerens eget passord, eller passordet til en annen konto, innebærer tilgang til systemets passorddatabase. En typisk kommando ville være:sudo passwd root
Utfør potensielt farlige kommandoer. Verktøy som rm (slett), chmod (endre tillatelser), chown (endre eier) eller mkfs (formatering) kan gjøre mye skade hvis det brukes feil. Systemet krever root-rettigheter for operasjoner som påvirker kritiske filer eller enheter for å forhindre at en vanlig bruker ved et uhell ødelegger systemet.
Administrer oppstart, avstengning og omstart av maskinenKommandoer som reboot, poweroff eller avansert håndtering av systemctl om systemtjenester De krever også superbrukerrettigheter. For mer informasjon om systemd og tjenesteadministrasjonen Du kan se i den spesialiserte dokumentasjonen. Ellers kan enhver bruker starte en produksjonsserver på nytt når de vil.
I praksis, hvis noe feiler med en "tillatelse nektet"-feil i Linux, er det ganske sannsynlig at du må kjøre det med root-rettigheter. hjelp sudo eller midlertidig bytte til superbruker med su.
sudo- og su-kommandoer: når du skal bruke hver av dem
Når du forstår at root er "eieren" av systemet, er det på tide å forstå hvordan du får tak i disse rettighetene fra din vanlige brukerkonto.De to klassiske verktøyene for dette er sudo y susom ikke gjør akkurat det samme, selv om mange blander dem sammen.
sudo («superuser do») brukes til å utføre en enkelt kommando med tillatelsene til en annen bruker, vanligvis root.Du bytter ikke økter, du blir ikke root «for alt»; bare den spesifikke kommandoen utføres med forhøyede rettigheter. For eksempel:sudo apt install gparted
Hver gang du bruker sudo Systemet vil be om passordet ditt (hvis du ikke har skrevet det inn nylig).Etter noen få minutter med inaktivitet utløper sudo-"ticket", og du må autentisere på nytt, noe som legger til et viktig sikkerhetslag.
su («bytte bruker») endrer brukeridentiteten din i samme øktHvis du bruker den uten argumenter, blir du root (den vil be om root-passordet), og alle påfølgende kommandoer vil bli utført med disse rettighetene til du avslutter. exit. For eksempel:suContraseña:whoami # devuelve 'root'
Du kan også bruke su nombreusuario å bytte fra én bruker til en annenforutsatt at du vet passordet til målkontoen. Dette vil endre miljøet fullstendig til det nye brukermiljøet (variabler, hjemosv.) anbefales det å bruke su - o su - nombreusuario.
Generelt sett anses det som tryggere og mer tilrådelig å bruke sudo for spesifikke kommandoer og ty til su bare når du virkelig trenger en lengre root-økt (for eksempel i gjenopprettingsoppgaver eller komplekst vedlikehold).
Spesielle trekk ved root i Ubuntu og derivatdistribusjoner
Ubuntu og mange Ubuntu-baserte distribusjoner følger en ganske klar sikkerhetsfilosofi: root-brukeren finnes, men er låst fra direkte pålogging . Dette betyr at etter en standardinstallasjon kan du ikke logge inn som root, verken i terminalen eller det grafiske miljøet, ved hjelp av et passord, fordi det ikke er tildelt et.
I stedet velger Ubuntu intensiv bruk av sudoUnder installasjonsprosessen opprettes en administratorbruker som tilhører gruppen sudoDerfra utføres enhver administrativ oppgave med:sudo comando
Hvis du trenger et "fullt" root-skall i Ubuntu, har du flere sikre alternativer.:sudo -i # Åpne en root-påloggingsøktsudo su - # Bytt til root med innloggingsmiljø
Begge metodene lar deg være root i den terminalen til du avslutter med exitDu vil se at ledeteksten vanligvis endres og slutter på # i stedet for $Dette er et klassisk tegn på at du har superbrukerrettigheter. Det er viktig å huske på dette for å unngå å utføre farlige kommandoer der de ikke skal.
Selv om det ikke anbefales, kan du aktivere root-brukeren i Ubuntu ved å tilordne den et passord. med:sudo passwd root
Etter at du har skrevet inn og bekreftet det nye passordet, vil root bli "låst opp", og det vil for eksempel være mulig å bruke su uten forutgående sudo eller til og med å tillate direkte pålogging via TTY eller SSH (noe som er sterkt frarådet på eksponerte servere).
Reelle risikoer ved uforsiktig bruk av rot
Å jobbe som root uten å vite nøyaktig hva du gjør er som å kjøre en lastebil i revers på en motorvei: det kan ordne seg, men hvis du mister fokuset i bare et sekund, vil det være en katastrofe . Linux er designet for å være ganske sikkert som standard, men så snart du hever rettighetene, forsvinner mange beskyttelser.
Den første store risikoen er å slette eller ødelegge filsystemet ved et uhell.Kommandoer som:rm -rf /rm -rf /*
eller enda mer subtile konstruksjoner som:rm -rf "$directorio"/*
De kan ødelegge hele systemet i løpet av sekunder hvis de kjøres som root og stien ikke er slik du tror.Noen ganger er alt som trengs en tom variabel, en feilplassert skråstrek eller en feilplassert tabulatortast for å forvandle en tilsynelatende uskyldig kommando til en katastrofe.
Den andre store faren er å installere skadelig programvare med alle rettigheter . Å laste ned og kjøre skript fra internett som root uten å se på koden er som å gi nøkkelen til huset ditt til en fremmed. Et ondsinnet skript kan installere rootkits , keyloggere eller bakdører, endre kjernen, spionere på alt du gjør og forbli skjult i lang tid.
Det er også relativt enkelt å kompromittere systemsikkerheten ved å tukle med kritiske filtillatelser.Hvis du for eksempel kjører noe sånt som:chmod 000 /etc -R
eller du endrer tillatelsene til /boot til /etc/passwd uten å vite hva du driver med, Du kan gjøre maskinen uoppstartbar eller gjøre brukergodkjenning umulig.I mange tilfeller er den eneste løsningen å bruke en LiveCD eller til og med installere på nytt.
Fra et sikkerhetssynspunkt gjør det å alltid operere som root den kontoen til et enkelt feilpunkt . Hvis en angriper får root-tilgang (gjennom brute force, phishing, skadelig programvare osv.), har de full kontroll: de kan kryptere disker, stjele data, bli med i et botnett eller bruke serveren din til å angripe tredjeparter. For å redusere disse risikoene bør du utforske herdingsteknikker med SELinux og andre beskyttelsesmekanismer.
Videre gjør intensiv bruk av rot sporbarhet vanskelig.Når kommandoer utføres med sudoSystemet registrerer hvem som lanserte dem og når, mens hvis alt gjøres som root, er det ikke klart hvem som står bak hver handling, noe som kompliserer revisjoner og problemdiagnoser.
Vis stjerner når du skriver inn sudo-passordet
Som standard ser du ingen prikker eller stjerner når du skriver inn sudo-passordet ditt i mange distribusjoner (som Ubuntu). Dette var ment som et sikkerhetstiltak for å forhindre at noen kunne utlede lengden på passordet ditt bare ved å se på skjermen, men i praksis er det ganske upraktisk: du skriver, og ingenting ser ut til å skje.
I en stund nå har sudo tillatt aktivering av en atferd som kalles pwfeedbackDen viser en stjerne for hvert tegn du skriver. Den avslører ikke passordet ditt, men den bekrefter at tastaturet reagerer og hjelper deg med å oppdage skrivefeil.
For å aktivere den, må du redigere sudo-konfigurasjonen ved hjelp av det sikre verktøyet. visudoDette validerer syntaksen før lagring for å forhindre at du mister sudo-rettigheter på grunn av en dum feil. Fremgangsmåten ville være:
1. Åpne sudo-innstillinger:sudo visudo
2. Legg til linjen:Defaults pwfeedback
3. Lagre og avslutt redigeringsprogrammet
Fra det øyeblikket av vil det vises stjerner hver gang du skriver inn sudo-passordet ditt.Hvis du på noe tidspunkt vil gå tilbake til den opprinnelige oppførselen, fjerner du ganske enkelt den linjen ved å bruke `return`. visudo.
Deaktiver eller blokker root-kontoen
I miljøer der flere personer har tilgang til samme datamaskin, kan root-passordet lett bli misbrukt . Hvis for mange kjenner passordet, er det bare et spørsmål om tid før noen forårsaker (eller lider av) et større problem. En veldig rimelig løsning er å deaktivere root-kontoen og bare bruke sudo.
Når du låser root-kontoen, hindrer du brukere i å logge inn direkte som den brukeren. og du forhindrer også at den blir brukt su For å få root-tilgang med passordet ditt. Imidlertid, Autoriserte brukere vil fortsatt kunne bruke sudo å utføre privilegerte ordrer.
For å låse root-kontoen i mange distroer, kjør ganske enkelt:sudo passwd -l root
Denne kommandoen "fryser" root-passordet slik at det ikke kan brukesHvis du trenger å aktivere den på nytt senere, må du angi et nytt passord med noe sånt som:sudo passwd root
Gjenopprett eller endre root-passordet ditt hvis du har mistet det
Hvis du har glemt root-passordet ditt eller låst kontoen din og trenger å gjenopprette det, er ikke alt tapt . Linux tilbyr flere måter å tilbakestille det på, vanligvis ved å starte systemet i en spesiell modus eller bruke en LiveCD.
Et veldig vanlig alternativ er å gjøre det fra GRUB, ved å bruke gjenopprettingsmodus . Mange distribusjoner har en "Avanserte alternativer"-oppføring der du kan velge "Gjenopprettingsmodus". Hvis du velger den, lastes et begrenset miljø med redningsalternativer.
Hvis du velger alternativet for å hente en rotkonsoll i gjenopprettingsmodus , er standardflyten vanligvis:
1. Monter filsystemet med skriverettigheter:mount -o rw,remount /
2. Sett et nytt passord for root:passwd root
3. Synkroniser data og start på nytt for å bruke endringene:syncreboot
Den andre hovedmåten er å starte opp fra en LiveCD eller LiveUSB fra en Linux-distribusjon (for eksempel Ubuntu i "Prøv uten å installere"-modus) og jobbe på det installerte systemet utenfra.
I et typisk scenario med en LiveCD ville trinnene være :
1. Åpne en terminal og hent et midlertidig rotskall:sudo su
2. Identifiser partisjonen som inneholder Linux-systemet ditt med noe slikt som:fdisk -l
3. Monter den partisjonen i en arbeidsmappe (for eksempel ved bruk av /dev/sda1):mkdir /mnt/recovermount /dev/sda1 /mnt/recover
4. Endre systemroten til katalogen som er montert med chroot:chroot /mnt/recover
5. Derfra, bruk passwd root for å angi et nytt passord, og etter at du har logget ut og startet på nytt, vil du kunne logge inn igjen som normalt.
/etc/sudoers-filen og hvordan du finjusterer root-rettigheter
Et av de kraftigste (og mest delikate) aspektene ved rothåndtering er filen /etc/sudoers, hvor det er definert hvem som kan bruke sudoDet er her du kan tilpasse tilgang med utvidede rettigheter i detalj, og spesifisere hvor og hvilke kommandoer skal utføres.
Veldig viktig: aldri rediger /etc/sudoers direkte med hvilken som helst redaktørBruk alltid:sudo visudo
fordi dette verktøyet Sjekk syntaksen før du lagrerEn feil i denne filen kan hindre deg i å bruke sudo, og med visudo Du minimerer den risikoen.
Typisk innhold av /etc/sudoers en ren Ubuntu inneholder linjer som ligner på:root ALL=(ALL:ALL) ALL%sudo ALL=(ALL:ALL) ALL
Den første indikerer at rotbrukeren kan utføre hvilken som helst kommando på hvilken som helst vert som hvilken som helst bruker og gruppe.Den andre gjør det samme, men for alle brukerne i gruppen. sudoPå denne måten har alle i den gruppen total makt via sudo.
For mer avanserte konfigurasjoner lar sudoers deg definere aliaser for brukere, kommandoer og utførelsesgrupper , for eksempel:
User_Alias ADMINES = pepe, perico, andres
Cmnd_Alias POWER = /sbin/shutdown, /sbin/halt, /sbin/reboot, /sbin/restart
Runas_Alias WEB = www-data, apache
Med disse definisjonene kan du for eksempel gi ADMINISTRATORER tillatelse til å slå av eller starte systemet på nytt uten passord. med en regel som:ADMINES ALL = NOPASSWD: POWER
Etiketter som NOPASSWD De lar deg utføre visse kommandoer med sudo uten å måtte skrive inn passordet.Dette er svært nyttig i automatiserte skript, integrasjoner med andre systemer eller personlige datamaskiner der du er den eneste brukeren.
Av kuriositet finnes det et alternativ som heter insults at hvis du legger det til linjene DefaultsDet gjør at sudo "fornærmer" deg på engelsk hver gang du skriver inn feil passord.Det forbedrer ikke sikkerheten, men det får deg i det minste til å smile midt i arbeidet.
Bruke root til å administrere filer og tillatelser fra terminalen
I praksis er mye av bruken av root fokusert på å administrere filer og tillatelser gjennom terminalen . Med superbrukerrettigheter kan du navigere i hele filsystemet og endre det du trenger, alltid med ekstrem forsiktighet.
Noen grunnleggende kommandoer som blir spesielt sensitive som root er:
ls: lister opp filer og mapper. Som root vil du til og med se filer som andre brukere ikke kan liste opp.
cp y mvFor å kopiere og flytte filer eller mapper, bruk `sudo`. Du kan for eksempel bruke `sudo` for å flytte en skrifttype fra... Descargas opp /usr/share/fonts/ slik at den er tilgjengelig for hele systemet.
rm: sletter filer og mapper. I kombinasjon med -r y -f Det er ekstremt farlig hvis du bruker den som root uten å sjekke stien ordentlig.
chmod y chownDisse innstillingene endrer tillatelser og eierskap. De er viktige for å gi tilgang til filer til bestemte brukere, men misbruk kan gjøre systemet usikkert eller ubrukelig.
Et typisk eksempel på bruk av root for å installere en systemfont ville være :
sudo cp ~/Descargas/Underdog.ttf /usr/share/fonts/sudo chmod 644 /usr/share/fonts/Underdog.ttf
modus 644 Det indikerer at eieren (root) kan lese og skrive, mens gruppen og andre brukere bare kan lese., nok til at skrifttypen skal fungere, men uten å tillate utilsiktede endringer.
Beste fremgangsmåter når du jobber med root, sudo og su
Det er ikke noe man skal ta lett på å bruke superbrukerrettigheter . Det finnes en rekke retningslinjer som, hvis du forstår dem, vil spare deg for mye bryderi:
Minimer tiden du bruker som root. USA sudo comando Unngå å åpne en vedvarende root-sesjon når det er mulig. Jo mindre tid du bruker med alle rettigheter, desto mindre sannsynlig er det at du gjør en feil.
Unngå å kjøre skript fra tvilsomme kilder med `sudo` for enhver pris . Hvis du laster ned et skript fra internett og det første du ser er "kjør dette med `sudo`", åpner du det med en teksteditor og leser det nøye. Hvis du ikke forstår hva det gjør, ikke kjør det.
Bruk testmiljøer (virtuelle maskiner, containere) for eksperimentering . Hvis du skal berøringsfølsomme konfigurasjoner, teste aggressive kommandoer eller kjøre uklare skript, gjør det først på et system du trygt kan bryte. Du finner veiledninger om sikker virtualisering i virtuelle maskiner og containere.
Konfigurer sudo detaljert når det er flere administratorerDet er ikke det samme for en bruker som bare trenger å starte en tjeneste på nytt som for noen som trenger full kontroll. /etc/sudoers å begrense hva hver enkelt person kan gjøre.
Overvåk autentiseringslogger (/var/log/auth.log o journalctlDette lar deg se hvem som bruker sudo, hvorfra og med hvilke kommandoer. Det er en enkel måte å oppdage uvanlig oppførsel eller misbruk av rettigheter.
Ikke surf på internett, åpne vedlegg eller kjør skrivebordsprogrammer som root . Hvis et grafisk program blir kompromittert mens du kjører det som superbruker, vinner angriperen jackpotten.
Kort sagt, root i Linux er et utrolig kraftig verktøy som må håndteres med forsiktighet . Å forstå formålet, når man skal bruke `sudo` eller `su`, hvordan man gjenoppretter eller låser kontoen, og hvordan man konfigurerer `sudo`, vil tillate deg å administrere systemet ditt trygt og trygt, og dra full nytte av GNU/Linux' fleksibilitet uten å risikere livet ditt hver gang du åpner terminalen.
Indeks
- 1 Hva er root-brukeren i Linux, og hva gjør den spesiell?
- 2 Forskjellen mellom vanlige brukere, root og sudo-gruppen
- 3 Hva er rot i praksis, og hva brukes det til?
- 4 sudo- og su-kommandoer: når du skal bruke hver av dem
- 5 Spesielle trekk ved root i Ubuntu og derivatdistribusjoner
- 6 Reelle risikoer ved uforsiktig bruk av rot
- 7 Vis stjerner når du skriver inn sudo-passordet
- 8 Deaktiver eller blokker root-kontoen
- 9 Gjenopprett eller endre root-passordet ditt hvis du har mistet det
- 10 /etc/sudoers-filen og hvordan du finjusterer root-rettigheter
- 11 Bruke root til å administrere filer og tillatelser fra terminalen
- 12 Beste fremgangsmåter når du jobber med root, sudo og su

