Android

Sudo-kommando i Linux

Linux Command Line Tutorial For Beginners 13 - sudo command

Linux Command Line Tutorial For Beginners 13 - sudo command

Innehållsförteckning:

Anonim

Med kommandot sudo kan du köra program som en annan användare, som standard root-användare. Om du spenderar mycket tid på kommandoraden, är sudo ett av de kommandon som du kommer att använda ganska ofta.

Att använda sudo istället för att logga in som root är säkrare eftersom du kan ge begränsade administrativa behörigheter till enskilda användare utan att de vet root-lösenordet.

I denna handledning kommer vi att förklara hur du använder sudo kommandot.

Installera Sudo (sudo-kommando hittades inte)

Sudo-paketet är förinstallerat på de flesta Linux-distributioner.

För att kontrollera om sudo-paketet är installerat på ditt system öppnar du din konsol, skriver sudo och trycker på Enter . Om du har installerat sudo kommer systemet att visa ett kort hjälpmeddelande, annars ser du något som sudo command not found .

Om sudo inte är installerat kan du enkelt installera det med hjälp av paketansvarig för din distro.

Installera Sudo på Ubuntu och Debian

apt install sudo

Installera Sudo på CentOS och Fedora

yum install sudo

Lägga till användare till Sudoers

Som standard är de flesta Linux-distributioner som ger sudo-åtkomst lika enkelt som att lägga till användaren i sudo-gruppen som definieras i sudoers filen. Medlemmar i denna grupp kommer att kunna köra alla kommandon som root. Gruppens namn kan skilja sig från distribution till distribution.

På RedHat-baserade distributioner som CentOS och Fedora är sudo-gruppens namn wheel . Så här lägger du till användaren i gruppkörningen:

usermod -aG wheel username

På Debian, Ubuntu och deras derivat beviljas medlemmar i gruppen sudo med sudo-åtkomst:

usermod -aG sudo username

Rotanvändarkontot i Ubuntu avaktiveras som standard av säkerhetsskäl och användare uppmuntras att utföra systemadministrativ uppgift med sudo. Den ursprungliga användaren som skapats av Ubuntu-installationsprogrammet är redan medlem i sudo-gruppen, så om du kör Ubuntu är chansen att användaren du är inloggad som redan har beviljats ​​med sudo-privilegier.

Till exempel för att låta användaren linuxize bara mkdir kommandot mkdir som sudo, skriv:

sudo visudo

och lägg till följande rad:

linuxize ALL=/bin/mkdir

På de flesta system öppnar visudo kommandot /etc/sudoers med vim-textredigeraren. Om du inte har erfarenhet av vim, kolla vår artikel om hur du sparar en fil och avsluta vim-redigeraren.

Du kan också tillåta användare att köra sudo-kommandon utan att ange lösenord:

linuxize ALL=(ALL) NOPASSWD: ALL

Hur man använder Sudo

Syntaxen för kommandot sudo är som följer:

sudo OPTION.. COMMAND

Kommandot sudo har många alternativ som styr dess beteende men vanligtvis används sudo i dess mest grundläggande form, utan något alternativ.

För att använda sudo, prefixer du bara kommandot med sudo :

sudo command

Var command är det kommando som du vill använda sudo för.

Sudo kommer att läsa /etc/sudoers och kontrollera om den åkallande användaren beviljas med sudo-bedömning. Första gången du använder sudo i en session uppmanas du att ange användarlösenordet och kommandot kommer att köras som root.

För att till exempel lista alla filer i /root katalogen du skulle använda:

sudo ls /root

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

Lösenord timeout

Som standard kommer sudo att be dig att ange ditt lösenord igen efter fem minuters sudo-inaktivitet. Du kan ändra standard timeout genom att redigera sudoers filen. Öppna filen med visudo :

sudo visudo

Ställ in standard timeout genom att lägga till raden nedan, där 10 är tidsgränsen som anges i minuter:

Defaults timestamp_timeout=10

Defaults:user_name timestamp_timeout=10

Kör en kommando som annan användare än rot

Det finns en felaktig uppfattning att sudo endast används för att ge rotbehörigheter till en vanlig användare. Egentligen kan du använda sudo att köra ett kommando som alla användare.

Alternativet -u låter dig köra ett kommando som en specificerad användare.

I följande exempel använder vi sudo att köra kommandot whoami som en användare "richard":

sudo -u richard whoami

whoami kommandot skriver ut namnet på den användare som kör kommandot:

richard

Hur man omdirigerar med Sudo

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

bash: /root/file.txt: Permission denied

Detta händer på grund av att omdirigeringen " > " för utgången utförs under den användare du är inloggad, inte den användare som anges av sudo. Omdirigering sker innan sudo kommandot åberopas.

En lösning är att åberopa ett nytt skal som rot med sudo sh -c :

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

Ett annat alternativ är att leda utgången som en vanlig användare till tee kommandot som visas nedan:

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

Slutsats

Du har lärt dig hur du använder sudo kommandot och hur du skapar nya användare med sudo-privilegier.

terminal sudo