På Linux tilsvarer rotbrukeren administratorbrukeren på Windows. Men mens Windows lenge har hatt en kultur med gjennomsnittlige brukere som logger på som administrator, bør du ikke logge på som root på Linux.
Microsoft prøvde å forbedre Windows sikkerhetspraksis med UAC - du bør ikke logge på som root på Linux for det samme grunn til at du ikke skal deaktivere UAC på Windows .
Hvorfor Ubuntu bruker Sudo
Å fraråde brukere å kjøre som rot er en av grunnen til at Ubuntu bruker sudo i stedet for su . Som standard er rotpassordet låst på Ubuntu, så gjennomsnittlige brukere kan ikke logge på som root uten å gå ut av deres måte å aktivere rotkontoen på nytt.
På andre Linux-distribusjoner har det historisk vært mulig å logge på som root fra den grafiske påloggingsskjermen og få et root-skrivebord, selv om mange applikasjoner kan klage (og til og med nekte å kjøre som root, slik VLC gjør). Brukere som kommer fra Windows bestemte seg noen ganger for å logge på som root, akkurat som de brukte administratorkontoen på Windows XP.
Med sudo kjører du en bestemt kommando (prefiks av sudo) som får root-privilegier. Med su vil du bruke kommandoen su for å få et root shell, der du vil kjøre kommandoen du vil bruke før du (forhåpentligvis) avslutter root shell. Sudo hjelper deg med å håndheve beste praksis, og kjører bare kommandoer som må kjøres som root (for eksempel kommandoer for programvareinstallasjon) uten å etterlate deg ved et rotskall der du kan være pålogget eller kjøre andre applikasjoner som root.
Begrensning av skaden
Når du logger på som din egen brukerkonto, er programmer du kjører begrenset til å skrive til resten av systemet - de kan bare skrive til hjemmemappen din. Du kan ikke endre systemfiler uten å få rottillatelser. Dette bidrar til å holde datamaskinen sikker. For eksempel, hvis Firefox-nettleseren hadde et sikkerhetshull, og du kjørte den som root, ville en ondsinnet webside kunne skrive til alle filene på systemet ditt, lese filer i andre brukerkontos hjemmemapper og erstatte systemkommandoer med kompromittert de. Hvis du derimot er logget på som en begrenset brukerkonto, ville den ondsinnede nettsiden ikke være i stand til å gjøre noen av disse tingene - den ville bare kunne påføre skade i hjemmemappen din. Selv om dette fremdeles kan forårsake problemer, er det mye bedre enn å ha hele systemet kompromittert.
Dette hjelper deg også med å beskytte deg mot ondsinnede eller bare buggy-applikasjoner. Hvis du for eksempel kjører et program som bestemmer seg for å slette alle filene det har tilgang til (kanskje det inneholder en stygg feil), vil applikasjonen tørke hjemmemappen din. Dette er ille, men hvis du har sikkerhetskopier (som du burde!), Er det ganske enkelt å gjenopprette filene i hjemmemappen. Imidlertid, hvis applikasjonen hadde root-tilgang, kunne den slette hver eneste fil på harddisken din, og nødvendiggjøre en full installasjon på nytt.
Finkornede tillatelser
Mens eldre Linux-distribusjoner kjørte hele systemadministrasjonsprogrammer som root, bruker moderne Linux-skrivebord PolicyKit for enda mer detaljert kontroll av tillatelsene et program mottar.
For eksempel kan en programvarestyringsapplikasjon kun få tillatelse til å installere programvare på systemet ditt gjennom PolicyKit. Programmets grensesnitt vil kjøre med den begrensede brukerkontoens tillatelser, bare den delen av programmet som installerte programvare vil få forhøyede tillatelser - og den delen av programmet vil bare kunne installere programvare.
Programmet hadde ikke full rottilgang til hele systemet ditt, noe som kan beskytte deg hvis det finnes et sikkerhetshull i applikasjonen. PolicyKit tillater også begrensede brukerkontoer å gjøre noen endringer i systemadministrasjonen uten å få full root-tilgang, noe som gjør det lettere å kjøre som en begrenset brukerkonto med mindre problemer.
Linux lar deg logge på et grafisk skrivebord som root - akkurat som det vil tillate deg å slette hver eneste fil på harddisken mens systemet kjører eller skrive tilfeldig støy direkte til harddisken din, og utslette filsystemet ditt - men det er ikke ikke en god idé. Selv om du vet hva du gjør, er ikke systemet designet for å kjøres som root - du omgår mye av sikkerhetsarkitekturen som gjør Linux så sikker.