sudo ( S övre I vara DO ) kommandot i Linux används vanligtvis som ett prefix för vissa kommandon som endast superanvändare får köra. Om du prefixar ett kommando med sudo, kommer det att köra det kommandot med förhöjda privilegier eller med andra ord tillåta en användare med rätt behörighet att utföra ett kommando som en annan användare, till exempel superanvändaren. Detta motsvarar alternativet kör som administratör i Windows. Alternativet för sudo låter oss ha flera administratörer.
Dessa användare som kan använda sudo kommandot måste ha en post i sudoers fil som finns på /etc/sudoers . Kom ihåg att för att redigera eller visa sudoers-filen måste du använda kommandot sudo. För att redigera sudoers-filen rekommenderas att du använder kommandot visudo.
skillnaden mellan array och arraylist
Som standard kräver sudo att användare autentiserar sig med ett lösenord som är användarens lösenord, inte själva root-lösenordet.
Syntax för sudo-kommando:
sudo -V | -h | -l | -v | -k | -K | -s | [ -H ] [-P ] [-S ] [ -b ] | [ -p prompt ] [ -c class|- ] [ -a auth_type ] [-r role ] [-t type ] [ -u username|#uid ] command>
Tillgängliga alternativ i kommandot sudo
| alternativ | Beskrivning | Syntax |
|---|---|---|
| -I | Alternativet -V (version) gör att sudo skriver ut versionsnumret och avslutar. Om den anropande användaren redan är root, kommer alternativet -V att skriva ut en lista över standardinställningarna som sudo kompilerades med. | sudo -V> |
| -l | Alternativet -l (lista) kommer att skriva ut de kommandon som är tillåtna (och förbjudna) för användaren på den aktuella värden. | sudo -l> |
| -h eller -hjälp | Alternativet -h (hjälp) gör att sudo skriver ut ett användningsmeddelande och avslutar. | sudo -h> |
| -i | Om, givet alternativet -v (validera), kommer sudo att uppdatera användarens tidsstämpel och om nödvändigt fråga efter användarens lösenord. Detta förlänger sudo-timeouten med ytterligare 5 minuter (eller som ges i sudoers) men kör inget kommando. Detta ger ingen utgång. | sudo -v> |
| -k | Alternativet -k (kill) för att sudo ogiltigförklarar användarens tidsstämpel. Så nästa gång sudo körs kommer ett lösenord att krävas. Det här alternativet kräver inget lösenord och lades till för att tillåta en användare att återkalla sudo-behörigheter från en utloggningsfil. | sudo -k> |
| -K | I likhet med alternativet -k, används alternativet -K (sure kill) för att ta bort användarens tidsstämpel helt. På samma sätt kräver det här alternativet inget lösenord. | sudo -K> |
| -b | Alternativet -b (bakgrund) säger åt sudo att köra det givna kommandot i bakgrunden. Observera att om du använder alternativet -b kan du inte använda skal jobbkontroll att manipulera processen. | sudo -b [command]> (ersätt kommandot med kommandot du vill köra i bakgrunden) |
| -s | kommandot sudo -p prompt låter dig anpassa lösenordsuppmaningen som sudo visas när den begär användarens lösenord. Som standard kommer sudo att visa en generisk lösenordsprompt som ser ut | sudo -p 'Enter your password' [command]> (ersätt kommandot med kommandot du vill köra i bakgrunden) |
| -n | Alternativet -n tillåter sudo att köra ett kommando utan att be om ett lösenord. Det här alternativet är användbart när du kör sudo-kommandon som bakgrundsjobb eller i ett skalskript. Alternativet -n står för icke-interaktiv. | sudo -n [command]> (ersätt kommandot med kommandot du vill köra i bakgrunden) |
| -i | Alternativet -u gör att sudo kör det angivna kommandot som en annan användare än root. För att ange ett UID istället för ett användarnamn, använd #uid. | sudo -u [user] [command]> (ersätt kommandot med kommandot du vill köra i bakgrunden) |
| -s | Alternativet -s kör skalet som anges av miljövariabeln SHELL om det är inställt eller skalet som specificerats i filen passwd. | sudo -s [command]> (ersätt kommandot med kommandot du vill köra i bakgrunden) |
| -H | Alternativet -H ställer in miljövariabeln HOME till målanvändarens hemkatalog (root som standard) som specificerats i passwd. Som standard ändrar inte sudo HOME. | sudo -H [command]> (ersätt kommandot med kommandot du vill köra i bakgrunden) |
| -S | Alternativet -S gör att sudo läser lösenordet från standardingången istället för terminalenheten. | sudo -S [command]> (ersätt kommandot med kommandot du vill köra i bakgrunden) |
| -a | Alternativet -a gör att sudo använder den angivna autentiseringstypen när användaren valideras, vilket tillåts av /etc/login.conf. Systemadministratören kan ange en lista över sudo-specifika autentiseringsmetoder genom att lägga till en auth-sudo-post i /etc/login.conf. | sudo -a [auth-type] [command]> (ersätt kommandot med kommandot du vill köra i bakgrunden) |
| — | Flaggan — indikerar att sudo ska sluta bearbeta kommandoradsargument. Det är mest användbart i samband med flaggan -s. | sudo -- [command]> (ersätt kommandot med kommandot du vill köra i bakgrunden) |
Utdata av några kommandon
1. -V: Alternativet -V (version) gör att sudo skriver ut versionsnumret och avslutar. Om den anropande användaren redan är root, kommer alternativet -V att skriva ut en lista över standardinställningarna som sudo kompilerades med.
sudo -V
'abc' är i siffror'
2. -l: Alternativet -l (lista) kommer att skriva ut de kommandon som är tillåtna (och förbjudna) för användaren på den aktuella värden.
sudo -l
3. -h eller -hjälp: Alternativet -h (hjälp) gör att sudo skriver ut ett användningsmeddelande och avslutar.
sudo -h
Miljövariabler
Dessa miljövariabler används av sudo
| Märka | Beskrivning |
|---|---|
| REDAKTÖR | Standardredigerare att använda i -Det är (sudoedit)-läge om VISUAL inte är inställt |
| HEM | I -s eller -H läge (eller om sudo konfigurerades med –enable-shell-sets-home option), inställd på homedir för målanvändaren |
| VÄG | Ställ in ett rimligt värde om säker_sökväg sudoers alternativet är inställt. |
| SKAL | Används för att bestämma att skalet ska köras med -s-alternativet |
| SUDO_PROMPT | Används som standardlösenordsprompt |
| SUDO_COMMAND | Ställ in på kommandot som körs av sudo |
| SUDO_USER | Ställ in på inloggningen för användaren som anropade sudo |
| SUDO_UID | Ställ in på uid för användaren som anropade sudo |
| SUDO_GID | Ställ in på gid för användaren som anropade sudo |
| SOUTH_PS1 | Om den är inställd kommer PS1 att ställas in på sitt värde |
| ANVÄNDARE | Ställ in på målanvändaren (root om inte -i alternativet är angivet) |
| VISUELL | Standardredigerare att använda i -Det är (sudoedit) läge |
sudo kommando i Linux – FAQ
Vad är 'sudo' i Linux?
Sudo är ett kommando i Linux som tillåter användare att köra kommandon med privilegier som endast rotanvändare har. Det hjälper användare att utföra uppgifter med administrativ kraft utan att logga in som rotanvändare, även om det ibland kan vara riskabelt.
Vilka Linux-kommandon behöver 'sudo'-privilegier?
Det finns många Linux-kommandon som behövs för att köra med sudo-privilegier, såsom nätverkskommandon, kommandon för pakethantering och kommandon på systemnivå. Till exempel, kommandon som kräver sudo-privilegier för att köras är `yum`, `systemctl`, `mount`, `apt-get`, `fdisk` och `ifconfig`.
Vad kan jag köra med sudo?
Det finns många Linux-kommandon som kräver sudo-privilegier för att köras men man måste komma ihåg att använda det med försiktighet eftersom de kan ändra kritiska systemkonfigurationer och filer. För att undvika konsekvenser bör vi kontrollera två gånger innan vi kör kommandon. Kommandon som:
- Installera ett nytt paket: `sudo apt-get install package_name`
- Uppdatering av systemet: `sudo apt-get update && sudo apt-get upgrade`
- Ändra systemkonfigurationer: `sudo nano /etc/fstab`
- Starta en systemtjänst: `sudo systemctl start service_name`
- Stoppa en systemtjänst: `sudo systemctl stop service_name`
- Skapa ett nytt användarkonto: `sudo useradd användarnamn`
- Ändra filbehörigheter: `sudo chmod 755 filnamn`
Vad är skillnaden mellan su och sudo kommando i Linux?
I Linux låter kommandot su (växla användare) användare logga in som en annan användare, ofta rotanvändaren, och komma åt deras filer och inställningar. Däremot tillåter sudo-kommandot användare att köra vissa kommandon med ökade privilegier utan att logga in som root-användare. Sudo är en säkrare metod för att ge tillfälliga root-privilegier till användare.
Hur ger och tar jag åtkomst till sudo för användare i Linux?
I Linux kan vi ge eller ta `sudo`-åtkomst genom att lägga till eller ta bort användarnamnet från filen som heter `sudores`. För att lägga till användarnamn till sudoers måste vi köra `sudo visudo` kommandot och redigera filen och lägga till raden som ger åtkomst till användaren. Till exempel: användarnamn ALL=(ALLA:ALLA) ALL ger användaren fullständig åtkomst till sudo-kommandot.
Och vi kan inaktivera en användares sudo-åtkomst genom att använda samma kommando sudo visudo som kommer att användas för att redigera sudoers-filen och ta bort raden som ger dem sudo-åtkomst. När raden är raderad kommer användaren inte längre att kunna använda kommandot sudo för att utföra privilegierade kommandon.
Slutsats
I Linux ärsudo>kommandot fungerar som en magisk nyckel som låser upp speciella krafter, vilket låter dig utföra viktiga uppgifter som vanligtvis bara superanvändaren kan göra. Det är ett sätt att be om tillåtelse att utföra kommandon med förhöjda privilegier, som att installera programvara eller ändra systeminställningar. Du användersudo>före ett kommando för att visa att du får köra det som superanvändare. Att användasudo>, du behöver vanligtvis ange ditt eget lösenord för att bevisa att det verkligen är du som gör det, inte någon annan. Kom ihåg,sudo>är kraftfull, så använd den försiktigt! Det kan ändra viktiga saker på din dator. Genom att förståsudo>och dess alternativ kan du använda Linux mer effektivt och säkrare.