Android

Sudo-kommando i Linux

Linux Command Line Tutorial For Beginners 13 - sudo command

Linux Command Line Tutorial For Beginners 13 - sudo command

Innholdsfortegnelse:

Anonim

Sudo-kommandoen lar deg kjøre programmer som en annen bruker, som standard rotbrukeren. Hvis du bruker mye tid på kommandolinjen, er sudo en av kommandoene du vil bruke ganske ofte.

Å bruke sudo i stedet for å logge inn som root er sikrere fordi du kan gi begrensede administrative rettigheter til enkeltbrukere uten at de vet root-passordet.

I denne opplæringen skal vi forklare hvordan du bruker sudo kommandoen.

Installerer Sudo (sudo-kommando ikke funnet)

Sudo-pakken er forhåndsinstallert på de fleste Linux-distribusjoner.

For å sjekke om sudo-pakken er installert på systemet ditt, åpner du konsollen, skriver sudo og trykker Enter . Hvis du har installert sudo, vil systemet vise en kort hjelpemelding, ellers ser du noe som sudo command not found .

Hvis sudo ikke er installert, kan du enkelt installere det ved å bruke pakkehåndtereren til distroen din.

Installer Sudo på Ubuntu og Debian

apt install sudo

Installer Sudo på CentOS og Fedora

yum install sudo

Legger bruker til Sudoers

Som standard på de fleste Linux-distribusjoner som gir sudo-tilgang, er det like enkelt som å legge brukeren til sudo-gruppen som er definert i sudoers filen. Medlemmer av denne gruppen vil kunne kjøre hvilken som helst kommando som root. Navnet på gruppen kan avvike fra distribusjon til distribusjon.

På RedHat-baserte distribusjoner som CentOS og Fedora er navnet på sudo-gruppen wheel . Slik legger du brukeren til gruppekjøringen:

usermod -aG wheel username

På Debian, Ubuntu og deres derivater, blir medlemmer av gruppen sudo gitt sudo-tilgang:

usermod -aG sudo username

Rotbrukerkontoen i Ubuntu er deaktivert som standard av sikkerhetsmessige årsaker, og brukerne oppfordres til å utføre systemadministrativ oppgave ved hjelp av sudo. Den første brukeren som ble opprettet av Ubuntu-installasjonsprogrammet, er allerede medlem av sudo-gruppen, så hvis du kjører Ubuntu, er sjansen stor for at brukeren du er logget inn som allerede er gitt med sudo-rettigheter.

For å la brukerne linuxize å kjøre bare mkdir kommandoen som sudo, skriver du for eksempel:

sudo visudo

og legg til følgende linje:

linuxize ALL=/bin/mkdir

På de fleste systemer åpner visudo kommandoen /etc/sudoers filen med vim-teksteditoren. Hvis du ikke har erfaring med vim, sjekk artikkelen vår om hvordan du lagrer en fil og avslutter vim-redigereren.

Du kan også tillate brukere å kjøre sudo-kommandoer uten å oppgi passord:

linuxize ALL=(ALL) NOPASSWD: ALL

Slik bruker du Sudo

Syntaks for sudo kommandoen er som følger:

sudo OPTION.. COMMAND

sudo kommandoen har mange alternativer som kontrollerer atferden, men vanligvis brukes sudo i sin mest grunnleggende form, uten noe alternativ.

For å bruke sudo, bare prefikserer du kommandoen med sudo :

sudo command

Hvor command er kommandoen du vil bruke sudo for.

Sudo vil lese filen /etc/sudoers og sjekke om den påkallende brukeren er gitt med sudo-vurdering. Første gang du bruker sudo i en økt, blir du bedt om å oppgi brukerpassordet, og kommandoen blir utført som root.

For eksempel for å liste opp alle filene i /root katalogen du vil bruke:

sudo ls /root

password for linuxize:….bashrc.cache.config.local.profile

Timeout for passord

Som standard ber sudo deg om å oppgi passordet ditt igjen etter fem minutters sudo-inaktivitet. Du kan endre standard timeout ved å redigere sudoers filen. Åpne filen med visudo :

sudo visudo

Angi standard tidsavbrudd ved å legge til linjen nedenfor, der 10 er tidsavbrudd spesifisert i minutter:

Defaults timestamp_timeout=10

Defaults:user_name timestamp_timeout=10

Kjør en kommando som en annen bruker enn rot

Det er en feil oppfatning at sudo bare brukes til å gi rotstillatelser til en vanlig bruker. Egentlig kan du bruke sudo til å kjøre en kommando som enhver bruker.

Alternativet -u lar deg kjøre en kommando som en spesifisert bruker.

I det følgende eksemplet bruker vi sudo til å kjøre whoami kommandoen som en bruker "richard":

sudo -u richard whoami

whoami kommandoen vil skrive ut navnet på brukeren som kjører kommandoen:

richard

Hvordan omdirigere med Sudo

sudo echo "test" > /root/file.txt

bash: /root/file.txt: Permission denied

Dette skjer fordi omdirigeringen " > " til utdataene blir utført under brukeren du er logget inn, ikke brukeren som er spesifisert av sudo. Omdirigering skjer før sudo kommandoen påberopes.

En løsning er å påkalle et nytt skall som rot ved å bruke sudo sh -c :

sudo sh -c 'echo "test" > /root/file.txt'

Et annet alternativ er å pipe utdataene som en vanlig bruker til tee kommandoen som vist nedenfor:

echo "test" | sudo tee /root/file.txt

Konklusjon

Du har lært hvordan du bruker sudo kommandoen og hvordan du oppretter nye brukere med sudo-rettigheter.

terminal sudo