Hvis du nogensinde har dabbled med kommandolinjen i Linux (hvem gør ikke?), Er du sikker på at komme over kommandoen "sudo" og "su". Mens veteranbrugere ved præcis, hvad de mener, er nye Linux-brugere altid forvirrede, når de skal bruge, hvilke og implikationer og komplikationer der involverer med begge. I denne artikel vil vi i detaljer forklare, hvad "sudo" og "su" er, forskellen mellem dem og hvornår de skal bruges.

Linux basics

Under installationen af ​​Linux vil det bede dig om at oprette en brugerkonto og angive din egen adgangskode. Når installationen er gennemført, og systemet genstartes, bliver du bedt om at logge på den brugerkonto, du tidligere har oprettet. Når du er i dette brugermiljø, er du din egen administrator, og du kan køre programmer og tilpasse skrivebordet til din egen smag. Dette er stort set den samme som i Windows og Mac. Du har også din egen personlige Hjemmemappe, hvor du kan tilføje / fjerne enhver mappe til og fra den. Det er stort set alt hvad du kan gøre. Udenfor din hjemmemappe (dvs. rodmappen) finder du, at de fleste (hvis ikke alle) af filsystemerne ikke er tilgængelige for dig.

Mens du kan få adgang til og læse filerne i disse mapper, kan du ikke ændre dem. Årsagen er, fordi du ikke har tilstrækkelig tilladelse.

Bruger Tilladelse

Brugerrettighedsfunktionen er en sikkerhedsfunktion, som beskytter Linux-brugere. Med din administratorkonto får du tilladelse til at styre alt i din hjemmemappe (og den eksterne partition eller harddisk, du har monteret). Derudover skal du have root tilladelse til at foretage ændringer i systemfilen, herunder installation og afinstallation af applikationer. Adskillelsen af ​​administratorkontoen og rodkontoen sikrer, at du ikke ødelægger dit system unødvendigt og gør det sværere for hacker / virus / malware at komme ind i dit rodsystem.

Bemærk ! I modsætning til Windows betyder ikke at være administrator af din egen brugerkonto, at du har rootadgang til systemet. Du kan ikke bare installere / afinstallere applikationer ved blot at dobbeltklikke på installationsprogrammet. I Linux skal du indtaste dit kodeord for at hæve din brugerkonto, før du kan installere / afinstallere en app. Dette betyder også, at tingene ikke bliver installeret, medmindre du giver udtrykkelig tilladelse til.

Eksistensen af ​​"sudo" og "su" er at give dig mulighed for at få adgang til root, så du kan blive den sande administrator af dit eget system.

SU

"Su" står for " superbruger " og giver dig mulighed for at logge på som root og gøre hvad du vil med systemet. Det kan køres med kommandoen:

 su 

og det kræver, at du indtaster adgangskoden til root-kontoen. I nogle distroer, især Ubuntu, er root-adgangskoden ikke indstillet under installationen. Dette gør det praktisk umuligt at logge ind som root (ved hjælp af "su"), da det ikke kan godkendes.

Hvis du virkelig skal bruge kommandoen "su" for at få rodadgang, kan du ændre rodadgangskoden ved hjælp af kommandoen:

 sudo passwd root 

Som standard logger "su" dig som root i dit eget brugermiljø. Hvis du vil ændre brugermiljøet til rod, skal du bruge kommandoen:

 su - 

Anden brug af "su" omfatter:

  • Skifter til en anden bruger, som ikke er superbrugeren
 su 
  • Skift til en anden bruger og brug det brugermiljø
 su - 

Som det kan ses, giver kommandoen "su" dig stor kraft til at administrere og ændre dit system, og hvis det ikke er markeret (eller hvis du er uerfaren), kan det være ødelæggende for dit system.

Bemærk: Så meget som muligt skal du ikke bruge "su" til at administrere dit system.

SUDO

"Sudo" står for " superbruger gør ", og det giver dig mulighed for at hæve din nuværende brugerkonto for midlertidigt at have root privilegier. Dette er forskelligt fra "su". Med "sudo" bruger du stadig din brugerkonto, men med root privilege, mens i "su", er du logget på root-kontoen. Derudover er root privilegiet i "sudo" kun gyldigt i en kort periode. Når det udløber, skal du indtaste dit kodeord igen for at genvinde root-privilegiet.

Med "sudo" kan du gøre stort set de samme ting som "su". For at bruge det skal du bare tilføje "sudo" foran alle rodkommandoer, for eksempel:

 sudo apt-get opdatering sudo apt-get opgradering 
  • I nogle tilfælde, hvis du virkelig skal logge ind som root, i stedet for at bruge "su", er det bedre at bruge:
 sudo -i 

at starte en root shell. Dette giver dig mulighed for at logge på som root med din egen brugeradgangskode.

  • Du kan også logge ind som en anden bruger
 sudo -i -u 

Konklusion

Dette er en grundlæggende introduktionsartikel til "sudo" og "su". Hvis du er nybegynder, er det tilrådeligt at holde hænderne slukket "su" og brug "sudo", hvis det kræves. For grundlæggende brugere er det tilstrækkeligt at bruge "sudo" for de fleste rodkommandoer. I over 6 år med at bruge Linux har jeg ikke stødt på en forekomst, hvor jeg skal bruge "su" eller "sudo -i".

Til administration af server vil nogle hævder, at du skal være rod hele tiden for at udføre vedligeholdelse og udføre enhver anden opgave. Dette kan være sandt, men i min personlige erfaring, hvis du installerer "sudo", opret en ny bruger og tilføj denne bruger til sudo-gruppen, kan du gøre stort set alt sammen med den begrænsede brugerkonto og sudo-kommando. Faktisk tror jeg, det er en mere sikker måde at administrere din server på. Sig mig, hvis jeg tager fejl.