sudo ( S zgornji IN biti NAREDI ) ukaz v Linuxu se običajno uporablja kot predpona za nekatere ukaze, ki jih smejo izvajati samo superuporabniki. Če kateremu koli ukazu dodate predpono s sudo, bo ta ukaz zagnal s povišanimi privilegiji ali z drugimi besedami dovolil uporabniku z ustreznimi dovoljenji, da izvede ukaz kot drug uporabnik, na primer superuporabnik. To je enako možnosti zaženi kot skrbnik v sistemu Windows. Možnost sudo nam omogoča, da imamo več skrbnikov.
Ti uporabniki, ki lahko uporabljajo sudo ukaz mora imeti vnos v sudoers datoteka, ki se nahaja na /etc/sudoers . Ne pozabite, da morate za urejanje ali ogled datoteke sudoers uporabiti ukaz sudo. Za urejanje datoteke sudoers priporočamo uporabo ukaza visudo.
Privzeto sudo zahteva, da se uporabniki overijo z geslom, ki je uporabnikovo geslo in ne samo korensko geslo.
Sintaksa za ukaz sudo:
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>
Možnosti, ki so na voljo v ukazu sudo
| Opcije | Opis | Sintaksa |
|---|---|---|
| -IN | Možnost -V (različica) povzroči, da sudo natisne številko različice in zapre. Če je uporabnik, ki kliče, že root, bo možnost -V natisnila seznam privzetih vrednosti, s katerimi je bil preveden sudo. | sudo -V> |
| -l | Možnost -l (seznam) bo izpisala dovoljene (in prepovedane) ukaze uporabniku na trenutnem gostitelju. | sudo -l> |
| -h ali –pomoč | Možnost -h (pomoč) povzroči, da sudo natisne sporočilo o uporabi in zapre. | sudo -h> |
| -in | Če je podana možnost -v (preverjanje), bo sudo posodobil uporabnikov časovni žig in po potrebi zahteval uporabniško geslo. To podaljša časovno omejitev sudo za nadaljnjih 5 minut (ali kot je navedeno v sudoers), vendar ne zažene ukaza. To ne daje nobenega rezultata. | sudo -v> |
| -k | Možnost -k (kill) za sudo razveljavi uporabnikov časovni žig. Torej bo ob naslednjem zagonu programa sudo potrebno geslo. Ta možnost ne zahteva gesla in je bila dodana, da uporabniku omogoči preklic dovoljenj sudo iz datoteke za odjavo. | sudo -k> |
| -K | Podobno kot možnost -k se možnost -K (gotovo uniči) uporablja za popolno odstranitev časovnega žiga uporabnika. Prav tako ta možnost ne zahteva gesla. | sudo -K> |
| -b | Možnost -b (ozadje) pove sudo, naj zažene dani ukaz v ozadju. Upoštevajte, da če uporabite možnost -b, ne morete uporabiti lupine kontrola dela za manipulacijo postopka. | sudo -b [command]> (zamenjajte ukaz z ukazom, ki ga želite izvajati v ozadju) java zbirke java |
| -str | ukaz sudo -p prompt vam omogoča, da prilagodite poziv za geslo, ki ga sudo prikaže, ko zahteva uporabnikovo geslo. Privzeto bo sudo prikazal splošni poziv za geslo, ki je videti kot | sudo -p 'Enter your password' [command]> (zamenjajte ukaz z ukazom, ki ga želite izvajati v ozadju) |
| -n | Možnost -n omogoča sudo, da izvede ukaz brez poziva za geslo. Ta možnost je uporabna pri izvajanju ukazov sudo kot opravil v ozadju ali v lupinskem skriptu. Možnost -n pomeni neinteraktivno. | sudo -n [command]> (zamenjajte ukaz z ukazom, ki ga želite izvajati v ozadju) |
| -in | Možnost -u povzroči, da sudo zažene navedeni ukaz kot uporabnik, ki ni root. Če želite določiti UID namesto uporabniškega imena, uporabite #uid. | sudo -u [user] [command]> (zamenjajte ukaz z ukazom, ki ga želite izvajati v ozadju) |
| -s | Možnost -s zažene lupino, določeno s spremenljivko okolja SHELL, če je ta nastavljena, ali lupino, kot je določeno v datoteki passwd. | sudo -s [command]> (zamenjajte ukaz z ukazom, ki ga želite izvajati v ozadju) |
| -H | Možnost -H nastavi spremenljivko okolja HOME na domači imenik ciljnega uporabnika (privzeto root), kot je določeno v passwd. Privzeto sudo ne spremeni HOME. | sudo -H [command]> (zamenjajte ukaz z ukazom, ki ga želite izvajati v ozadju) |
| -S | Možnost -S povzroči, da sudo prebere geslo s standardnega vnosa namesto s terminalske naprave. | sudo -S [command]> (zamenjajte ukaz z ukazom, ki ga želite izvajati v ozadju) 'abc's v številkah' |
| -a | Možnost -a povzroči, da sudo pri preverjanju uporabnika uporabi podano vrsto preverjanja pristnosti, kot dovoljuje /etc/login.conf. Sistemski skrbnik lahko določi seznam metod preverjanja pristnosti, specifičnih za sudo, tako da v /etc/login.conf doda vnos auth-sudo. | sudo -a [auth-type] [command]> (zamenjajte ukaz z ukazom, ki ga želite izvajati v ozadju) |
| — | Zastavica — pomeni, da mora sudo prenehati obdelovati argumente ukazne vrstice. Najbolj uporaben je v povezavi z zastavico -s. | sudo -- [command]> (zamenjajte ukaz z ukazom, ki ga želite izvajati v ozadju) |
Izhod nekaj ukazov
1. -V: možnost -V (različica) povzroči, da sudo natisne številko različice in se zapre. Če je uporabnik, ki kliče, že root, bo možnost -V natisnila seznam privzetih vrednosti, s katerimi je bil preveden sudo.
sudo -V
2. -l: Možnost -l (seznam) bo izpisala dovoljene (in prepovedane) ukaze uporabniku na trenutnem gostitelju.
sudo -l
3. -h ali -pomoč: Možnost -h (pomoč) povzroči, da sudo natisne sporočilo o uporabi in zapre.
sudo -h
ml do oz
Spremenljivke okolja
Te spremenljivke okolja uporablja sudo
| Oznaka | Opis |
|---|---|
| UREDNIK | Privzeti urejevalnik za uporabo -Je (sudoedit) način, če VISUAL ni nastavljen |
| DOMOV | noter -s oz -H načinu (ali če je bil sudo konfiguriran z –enable-shell-sets-home option), nastavljen na domači imenik ciljnega uporabnika |
| POT | Nastavite na razumno vrednost, če varna_pot možnost sudoers je nastavljena. |
| ŠKOLJKA | Uporablja se za določitev izvajanja lupine z možnostjo -s |
| SUDO_PROMPT | Uporablja se kot privzeti poziv za geslo |
| SUDO_COMMAND | Nastavite na ukaz, ki ga izvaja sudo |
| SUDO_USER | Nastavite na prijavo uporabnika, ki je priklical sudo |
| SUDO_UID | Nastavite na uid uporabnika, ki je priklical sudo |
| SUDO_GID | Nastavite na gid uporabnika, ki je poklical sudo |
| SOUTH_PS1 | Če je nastavljeno, bo PS1 nastavljen na svojo vrednost |
| UPORABNIK | Nastavite na ciljnega uporabnika (root, razen če -in možnost je navedena) |
| VIZUALNO | Privzeti urejevalnik za uporabo -Je (sudoedit) način |
Ukaz sudo v Linuxu – pogosta vprašanja
Kaj je `sudo` v Linuxu?
Sudo je ukaz v Linuxu, ki uporabnikom omogoča izvajanje ukazov s privilegiji, ki jih ima samo root uporabnik. Uporabnikom pomaga opravljati naloge s skrbniškimi močmi, ne da bi se prijavili kot korenski uporabnik, čeprav je včasih lahko tvegano.
Kateri ukazi Linuxa potrebujejo privilegije `sudo`?
Obstaja veliko ukazov Linuxa, ki so potrebni za izvajanje s privilegiji sudo, kot so omrežni ukazi, ukazi za upravljanje paketov in ukazi na sistemski ravni. Na primer, ukazi, ki za izvajanje zahtevajo privilegije sudo, so `yum`, `systemctl`, `mount`, `apt-get`, `fdisk` in `ifconfig`.
Kaj lahko zaženem s sudo?
Obstaja veliko ukazov Linuxa, ki za izvajanje zahtevajo privilegije sudo, vendar jih morate uporabljati previdno, saj lahko spremenijo kritične sistemske konfiguracije in datoteke. Da bi se izognili posledicam, moramo pred izvajanjem ukazov dvakrat preveriti. Ukazi, kot so:
- Namestitev novega paketa: `ime_namestitvenega paketa sudo apt-get`
- Posodabljanje sistema: `sudo apt-get update && sudo apt-get upgrade`
- Spreminjanje sistemskih konfiguracij: `sudo nano /etc/fstab`
- Zagon sistemske storitve: `sudo systemctl start service_name`
- Zaustavitev sistemske storitve: `sudo systemctl stop service_name`
- Ustvarjanje novega uporabniškega računa: `sudo useradd uporabniško ime`
- Spreminjanje dovoljenj za datoteke: `sudo chmod 755 ime_datoteke`
Kakšna je razlika med ukazom su in sudo v Linuxu?
V Linuxu ukaz su (switch user) omogoča uporabnikom, da se prijavijo kot drug uporabnik, pogosto root uporabnik, in dostopajo do svojih datotek in nastavitev. Nasprotno pa ukaz sudo uporabnikom omogoča izvajanje določenih ukazov s povečanimi privilegiji, ne da bi se prijavili kot korenski uporabnik. Sudo je bolj varen način dodeljevanja začasnih korenskih pravic uporabnikom.
Kako dam in vzamem uporabniku dostop do sudo v Linuxu?
V Linuxu lahko omogočimo ali vzamemo dostop `sudo` tako, da dodamo ali odstranimo uporabniško ime iz datoteke, imenovane `sudores`. Če želite dodati uporabniško ime sudoerjem, moramo zagnati ukaz `sudo visudo` in urediti datoteko ter dodati vrstico, ki bo uporabniku omogočila dostop. Na primer: uporabniško ime ALL=(ALL:ALL) ALL daje uporabniku popoln dostop do ukaza sudo.
Uporabniku lahko onemogočimo dostop do sudo z uporabo istega ukaza sudo visudo, ki bo uporabljen za urejanje datoteke sudoers in odstranitev vrstice, ki mu omogoča dostop do sudo. Ko je vrstica izbrisana, uporabnik ne bo mogel več uporabljati ukaza sudo za izvajanje privilegiranih ukazov.
Zaključek
V Linuxu jesudo>ukaz deluje kot čarobni ključ, ki odklene posebna pooblastila in vam omogoča, da opravite pomembna opravila, ki jih običajno lahko opravi samo superuporabnik. To je način, kako zaprositi za dovoljenje za izvajanje ukazov s povišanimi privilegiji, kot je namestitev programske opreme ali spreminjanje sistemskih nastavitev. Uporabljašsudo>pred ukazom, ki pokaže, da ga lahko izvajate kot superuporabnik. Uporabitisudo>, morate običajno vnesti svoje geslo, da dokažete, da to res počnete vi in ne nekdo drug. Ne pozabite,sudo>je močan, zato ga uporabljajte previdno! Lahko spremeni pomembne stvari v vašem računalniku. Z razumevanjemsudo>in njegovih možnosti, lahko uporabljate Linux učinkoviteje in varneje.