Sudo vs Su [Linux] (MTE Forklarer)
Hvis du noen gang har dabbled med kommandolinjen i Linux (hvem ikke?), Er du sikker på å komme over kommandoen "sudo" og "su". Mens veteranbrukere vet nøyaktig hva de mener, er nye Linux-brukere alltid forvirret når de skal bruke hvilke og implikasjon og komplikasjon som involverer begge deler. I denne artikkelen vil vi forklare i detalj hva "sudo" og "su" er, forskjellen mellom dem og når de skal brukes.
Linux grunnleggende
Under installasjonen av Linux vil det be deg om å opprette en brukerkonto og angi ditt eget passord. Når installasjonen er fullført og systemet startes på nytt, blir du bedt om å logge på brukerkontoen du tidligere har opprettet. Når du er i dette brukermiljøet, er du din egen administrator, og du kan kjøre programmer og tilpasse skrivebordet til din smak. Dette er stort sett det samme som i Windows og Mac. Du har også din egen personlige hjemmemappe der du kan legge til / fjerne hvilken som helst mappe til og fra den. Det er stort sett alt du kan gjøre. Utenfor hjemmemappen din (dvs. rotmappen) finner du at de fleste (hvis ikke alle) filsystemene ikke er tilgjengelige for deg.
Mens du kan få tilgang til og lese filene i disse mappene, vil du ikke kunne gjøre endringer i dem. Årsaken er at du ikke har tilstrekkelig tillatelse.
Bruker Tillatelse
Brukerrettighetsfunksjonen er en sikkerhetsfunksjon som beskytter Linux-brukere. Med administratorkontoen din får du tillatelse til å administrere alt i hjemmemappen din (og den eksterne partisjonen eller harddisken du har montert). Utover det, trenger du root-tillatelse for å gjøre endringer i systemfilen, inkludert installasjon og avinstallering av applikasjoner. Adskillelsen av administratorkontoen og root-kontoen sørger for at du ikke rydder systemet ditt unødvendig og gjør det vanskeligere for hacker / virus / skadelig programvare å komme inn i rotsystemet ditt.
Merk : I motsetning til Windows betyr ikke å være administrator for din egen brukerkonto at du har root-tilgang til systemet. Du kan ikke bare installere / avinstallere programmer bare ved å dobbeltklikke på installasjonsprogrammet. I Linux må du skrive inn passordet ditt for å heve brukerkontoen din før du kan installere / avinstallere en app. Dette betyr også at ting ikke blir installert med mindre du gir eksplisitt tillatelse til.
Eksistensen av "sudo" og "su" er å tillate deg å få root tilgang, slik at du kan bli den sanne administratoren av ditt eget system.
SU
"Su" står for " superbruker " og lar deg logge inn som rot og gjøre hva du vil med systemet. Den kan kjøres med kommandoen:
su
og det krever at du oppgir passordet til rotkontoen. I noen distroer, spesielt Ubuntu, er root-passordet ikke angitt under installasjonen. Dette gjør det praktisk talt umulig å logge inn som root (bruker "su") siden den ikke kan godkjennes.
Hvis du virkelig trenger å bruke "su" -kommandoen for å få tilgang til root, kan du endre root-passordet ved å bruke kommandoen:
sudo passwd root
Som standard logger «su» deg som root i ditt eget brukermiljø. For å endre brukermiljøet til rot, bruk kommandoen:
su -
Annen bruk av "su" inkluderer:
- Bytter til en annen bruker som ikke er superbrukeren
su
- Bytter til en annen bruker og bruker det brukermiljøet
su -
Som det kan sees, gir kommandoen "su" deg stor kraft til å administrere og modifisere systemet, og hvis det ikke er merket (eller hvis du er uerfaren), kan det være ødeleggende for systemet ditt.
Merk: Ikke bruk "su" for å administrere systemet ditt så mye som mulig.
SUDO
"Sudo" står for " superuser gjør ", og det tillater deg å heve din nåværende brukerkonto for å ha root privilegier midlertidig. Dette er forskjellig fra "su". Med "sudo" bruker du fortsatt din brukerkonto, men med root privilege, mens i "su", er du logget på root-kontoen. I tillegg er roten privilegiet i "sudo" bare gyldig i en kort periode. Når det utløper, må du skrive inn passordet ditt igjen for å gjenopprette root-privilegiet.
Med "sudo" kan du gjøre ganske mye de samme tingene som "su". For å bruke det, må du bare legge til "sudo" foran alle rotkommandoer, for eksempel:
sudo apt-get oppdatering sudo apt-get oppgradering
- I noen tilfeller, hvis du virkelig trenger å logge inn som rot, i stedet for å bruke "su", er det bedre å bruke:
sudo -i
å starte et rotskall. Dette lar deg logge på som root med ditt eget brukerpassord.
- Du kan også logge inn som en annen bruker
sudo -i -u
Konklusjon
Dette er en grunnleggende innledende artikkel til "sudo" og "su". Hvis du er nybegynner, er det tilrådelig å holde hendene av "su" og bruk "sudo" hvis nødvendig. For grunnleggende brukere er det nok å bruke "sudo" for de fleste rotkommandoer. I over 6 år med å bruke Linux har jeg ikke kommet over en forekomst der jeg trenger å bruke "su" eller "sudo -i".
For å administrere server, vil noen argumentere for at du må være rot hele tiden for å utføre vedlikehold og utføre andre oppgaver. Dette kan være sant, men i min personlige erfaring, hvis du installerer "sudo", opprett en ny bruker og legg til denne brukeren i sudo-gruppen, kan du gjøre stort sett alt med den begrensede brukerkontoen og sudo-kommandoen. Faktisk tror jeg dette er en sikrere måte å administrere serveren på. Fortell meg om jeg har feil.