Android

Sudo-kommando i Linux

Linux Command Line Tutorial For Beginners 13 - sudo command

Linux Command Line Tutorial For Beginners 13 - sudo command

Indholdsfortegnelse:

Anonim

Kommandoen sudo giver dig mulighed for at køre programmer som en anden bruger, som standard root-brugeren. Hvis du bruger en masse tid på kommandolinjen, er sudo en af ​​de kommandoer, du vil bruge ganske ofte.

Det er mere sikkert at bruge sudo i stedet for at logge ind som root, fordi du kan give begrænsede administrative rettigheder til de enkelte brugere uden at de kender root-adgangskoden.

I denne tutorial vil vi forklare, hvordan man bruger sudo kommandoen.

Installation af Sudo (sudo-kommando ikke fundet)

Sudo-pakken er forinstalleret på de fleste Linux-distributioner.

For at kontrollere, om sudo-pakken er installeret på dit system, skal du åbne din konsol, skrive sudo og trykke på Enter . Hvis du har installeret sudo, vil systemet vise en kort hjælpemeddelelse, ellers ser du noget som sudo command not found .

Hvis sudo ikke er installeret, kan du nemt installere det ved hjælp af pakkeadministratoren på din distro.

Installer Sudo på Ubuntu og Debian

apt install sudo

Installer Sudo på CentOS og Fedora

yum install sudo

Tilføjelse af bruger til Sudoers

Som standard på de fleste Linux-distributioner, der giver sudo-adgang, er det så simpelt som at tilføje brugeren til sudo-gruppen, der er defineret i sudoers filen. Medlemmer af denne gruppe vil kunne køre enhver kommando som root. Navnet på gruppen kan afvige fra distribution til distribution.

På RedHat-baserede distributioner som CentOS og Fedora er navnet på sudo-gruppen wheel . Sådan føjes brugeren til gruppekørslen:

usermod -aG wheel username

På Debian, Ubuntu og deres derivater tildeles medlemmer af gruppen sudo sudo-adgang:

usermod -aG sudo username

Grundbrugerkontoen i Ubuntu er som standard deaktiveret af sikkerhedsmæssige årsager, og brugerne opfordres til at udføre systemadministratorisk opgave ved hjælp af sudo. Den oprindelige bruger oprettet af Ubuntu-installationsprogrammet er allerede medlem af sudo-gruppen, så hvis du kører Ubuntu, er chancerne for, at den bruger, du er logget på, som allerede er tildelt med sudo-privilegier.

For at tillade, at bruger linuxize kan køre mkdir kommandoen som sudo, skal du indtaste:

sudo visudo

og tilføj følgende linje:

linuxize ALL=/bin/mkdir

På de fleste systemer åbner visudo kommandoen filen /etc/sudoers med vim-teksteditoren. Hvis du ikke har erfaring med vim, tjek vores artikel om, hvordan du gemmer en fil og luk vim-editoren.

Du kan også tillade brugere at køre sudo-kommandoer uden at indtaste en adgangskode:

linuxize ALL=(ALL) NOPASSWD: ALL

Sådan bruges Sudo

Syntaks for sudo kommandoen er som følger:

sudo OPTION.. COMMAND

Kommandoen sudo har mange indstillinger, der kontrollerer dens opførsel, men normalt bruges sudo i sin mest basale form, uden nogen mulighed.

For at bruge sudo skal du blot præfikse kommandoen med sudo :

sudo command

Hvor command er den kommando, som du vil bruge sudo til.

Sudo læser filen /etc/sudoers og kontrollerer, om den påkaldende bruger tildeles med sudo-vurdering. Første gang du bruger sudo i en session, bliver du bedt om at indtaste brugeradgangskoden, og kommandoen udføres som root.

For eksempel for at liste alle filer i /root biblioteket, du vil bruge:

sudo ls /root

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

Timeout for adgangskode

Som standard beder sudo dig om at indtaste din adgangskode igen efter fem minutters sudo-inaktivitet. Du kan ændre standard-timeout ved at redigere sudoers filen. Åbn filen med visudo :

sudo visudo

Indstil standard-timeout ved at tilføje linjen nedenfor, hvor 10 er den timeout, der er angivet i minutter:

Defaults timestamp_timeout=10

Defaults:user_name timestamp_timeout=10

Kør en kommando som en anden bruger end rod

Der er en forkert opfattelse af, at sudo kun bruges til at give rodtilladelser til en almindelig bruger. Faktisk kan du bruge sudo til at køre en kommando som enhver bruger.

Indstillingen -u giver dig mulighed for at køre en kommando som en specificeret bruger.

I det følgende eksempel bruger vi sudo til at køre whoami kommandoen som en bruger "richard":

sudo -u richard whoami

whoami kommandoen udskriver navnet på den bruger, der kører kommandoen:

richard

Sådan omdirigeres med Sudo

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

bash: /root/file.txt: Permission denied

Dette sker, fordi omdirigeringen " > " af output udføres under den bruger, du er logget på, ikke den bruger, der er angivet af sudo. Omdirigering sker, før sudo kommandoen aktiveres.

En løsning er at påberåbe sig en ny skal som rod ved hjælp af sudo sh -c :

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

En anden mulighed er at føre output som en almindelig bruger til tee kommandoen som vist nedenfor:

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

Konklusion

Du har lært, hvordan du bruger sudo kommandoen, og hvordan du opretter nye brugere med sudo-privilegier.

terminal sudo