logo

Linux sudo

Įvadas

Linux sudo komanda reiškia Super User Do . Paprastai jis taikomas kaip kelių komandų, kurias supervartotojui leidžiama vykdyti, priešdėlis.

Jei komandą pridėsime priešdėliu kartu su kitomis komandomis, ji tą komandą vykdytų su didelėmis privilegijomis. Kitaip tariant, tai leis vartotojui kartu su tinkamu leidimu valgyti komandą, kaip kiti vartotojai, pavyzdžiui, supervartotojas.

Tai lygu pasirinkimui „paleisti kaip administratorius“ sistemoje Windows. Sudo parinktis leidžia turėti daugiau nei vieną administratorių. Vartotojai, galintys taikyti komandą sudo, reikalauja, kad failo sudoers įrašas būtų '/etc/sudoers/' .

Pastaba: norėdami peržiūrėti ar redaguoti failą, turime taikyti komandą sudo. Redaguojant failą, siūloma taikyti komandą „visudo“.

Pagal numatytuosius nustatymus sudo komandai reikia, kad vartotojai patvirtintų save kartu su slaptažodžiu, kuris yra vartotojo slaptažodis, o ne pats root slaptažodis.

Sudo komandos sintaksė

Sudo komandos sintaksė paminėta toliau:

 sudo OPTION... COMMAND 

Parinktis komandoje sudo

Kai kurios svarbios sudo komandos parinktys paaiškintos toliau:

1. -Į: Tai reiškia versija . Ši parinktis įgalina komandą sudo spausdinti versijos numerį ir išeiti. Parinktis -V išspausdins numatytuosius sudo sąrašo pauzę, kuri buvo pastebėta, jei prašymą pateikęs vartotojas jau yra šaknis.

Linux sudo

2. -l: Tai reiškia sąrašą . Ši parinktis padės išspausdinti įvairias vartotojui leidžiamas komandas esamame pagrindiniame kompiuteryje.

Tai rodo, kad dabartinis vartotojas gali pritaikyti kiekvieną komandą kaip sudo.

vienvietis dizainas
Linux sudo

3. -h arba -help: H reiškia padėti šioje parinktyje. Ši parinktis įgalina sudo komandą spausdinti naudojimo ir išėjimo pranešimą.

Linux sudo

4. -in: Tai reiškia patvirtinti . Jei sudo komanda atnaujintų vartotojo laiko žymą, patvirtinimo programa prireikus pareikalaus vartotojo slaptažodžio. Jis pratęsia sudo komandos skirtąjį laiką kitoms 5 minutėms, bet nevykdo komandos. Tai nesuteikia jokio rezultato.

5. -k: Tai reiškia nužudyti . Ši parinktis panaikina sudo vartotojo laiko žymą. Taigi kitą kartą, kai bus vykdoma sudo komanda, reikės slaptažodžio. Parinkčiai -k nereikia jokio slaptažodžio ir ji buvo įtraukta, kad vartotojai galėtų atšaukti sudo komandos leidimus per .Atsijungti failą.

6. -b: Tai reiškia fone . Ši parinktis informuoja sudo komandą, kad ji vykdytų pateiktas komandas fone.

Pastaba: Jei taikysime šią parinktį, negalėsime taikyti apvalkalo užduoties valdymo manipuliuodami procesu.

Linux sudo

7. -K: Ši parinktis yra tokia pati kaip -k parinktis. Tačiau tai reiškia būtinai nužudyk . Ši parinktis taikoma norint visiškai pašalinti vartotojo laiko žymą. Jam taip pat nereikia jokio slaptažodžio.

8 p: Tai reiškia paraginti . Ši parinktis leidžia nepaisyti slaptažodžio raginimo (numatytasis) ir pritaikyti pasirinktinį. Leidžiamas kelių procentų pabėgimas, kuris yra toks:

  • %u yra sukurtas kaip besikreipiančio vartotojo prisijungimo vardas.
  • %U sukurtas pagal vartotojo prisijungimo vardą
  • %h sukurtas į pagrindinio kompiuterio pavadinimą (vietinį) be jokio domeno pavadinimo.
  • %H yra sukurtas pagal pagrindinio kompiuterio pavadinimą (vietinį) su domeno pavadinimu (tik tada, kai mašinos pagrindinio kompiuterio pavadinimas yra visiškai kvalifikuotas)
  • %% (du simboliai iš eilės) gali būti suskirstyti į atskirą % simbolį.
Linux sudo

9. -n: Ši parinktis vykdys komandą neprašant slaptažodžio. Tai labai naudinga, jei norime atlikti keletą komandų kaip fonines užduotis (arba apvalkalo scenarijaus viduje), kai nenorime sudo komandos užklausti apie slaptažodį. Ši parinktis yra santrumpa neinteraktyviam.

java rūšiavimo eilutės

10. -in: Tai reiškia Vartotojas . Ši parinktis leidžia sudo komandai vykdyti aprašytas komandas, išskyrus root kaip vartotoją. Norėdami nurodyti a uid o ne vartotojo vardą, galime naudoti #uid .

11. -H: Tai reiškia NAMAI . Ši parinktis gali nustatyti a HOME aplinkos kintamasis mūsų namų katalogas root vartotojo, kaip aprašyta faile passwd. Pagal numatytuosius nustatymus sudo komanda nekeičia HOME.

12. -s: Tai reiškia apvalkalas . Ši parinktis vykdo apvalkalą, aprašytą per a SHELL aplinkos kintamasis kai jo rinkinys arba šis apvalkalas, kaip aprašyta viduje passwd failą.

13. -S: Tai reiškia stdin . Ši parinktis įgalina komandą sudo nuskaityti slaptažodį naudojant standartinę įvestį, o ne terminalo įrenginį.

14. -: Ši parinktis parodo, kad sudo komanda turi nustoti apdoroti komandinės eilutės argumentus. Tai labiausiai naudinga kartu su vėliava -s.

15. -a: Tai reiškia Autentifikavimo tipas . Ši parinktis įgalina komandą sudo naudoti aprašytą autentifikavimo tipą, jei patvirtinamas vartotojas, kaip leidžia /etc/login/.config .

Sistemos administratorius gali aprašyti sudo-specifinio autentifikavimo metodų sąrašą įtraukdamas 'auto-sudo' įėjimas viduje /etc/login/.config .

Linux sudo

Aplinkos kintamieji sudo komandoje

Toliau pateikiami kai kurie aplinkos kintamieji, kuriuos taiko komanda sudo:

„Java“ pavadinimų suteikimo taisyklė
Taip ne. Žyma apibūdinimas
1. REDAKTORIAUS Tai numatytasis redaktorius, kuris gali būti naudojamas -e režime (sudoedit), kai VISUAL nepataisytas.
2. NAMAI Jis bus nustatytas į vartotojo (target) homedir režimu -H arba -s (arba kai sudo komanda buvo suformuota su parinktimi, ty -enable-shell-sets-home).
3. KELIAS Jis nustatomas į sveiką reikšmę, kai yra nustatyta parinktis, t. y. safe_path sudoers.
4. SHELL Jis gali būti naudojamas nustatant apvalkalą, kurį reikia vykdyti naudojant -s parinktį.
5. SUDO_COMMAND Jis nustatomas į komandą, vykdomą sudo komanda.
6. SUDO_PROMPT Jis gali būti naudojamas kaip slaptažodžio raginimas (numatytasis).
7. SUDO_USER Jis nustato vartotojo prisijungimą, kuris prašo sudo komandos.
8. SUDO_UID Jis nustatomas į vartotojo uid, kuris prašo sudo komandos.
9. SUDO_GID Jis nustatomas į vartotojo gid, kuris prašo sudo komandos.
10. SOUTH_PS1 Jei būtų nustatyta, PS1 vertė būtų fiksuota.
vienuolika. VARTOTOJAS Jis nustatomas vartotojui (root, nebent aprašyta parinktis, t. y. -u).
12. VIZUALUS Tai yra numatytasis redaktorius ir naudojamas -e režime (sudoedit).

Sudo komandos istorija

Cliffas Spenceris ir Robertas Coggeshallas parašė tikrąją posistemę 1980 m. SUNY/Buffalo Kompiuterių mokslo katedroje. Robertas Coggeshallas su savimi nešiojo sudo į Kolorado Boulderio universitetą. Iš esmės funkcijas ir kodą 1986–1993 m. pakeitė Inžinerijos koledžo ir Kolorado universiteto Boulderio kompiuterių mokslo katedros IT nariai ir taikomieji mokslai kartu su Toddu C. Milleriu.

Viešai naujausią versiją nuo 1994 m. valdo Todd .C Miller (OpenBSD kūrėjas) ir nuo 1999 m. dalijamasi pagal ISC tipo licenciją.

Thomas Claburn tokius neaiškumus apibūdino kaip pernelyg išpūstus 2009 m. lapkritį, reaguodamas į tai, kad „Microsoft“ turėjo sudo privilegiją. Siauriau, teiginiai buvo suformuluoti į konkrečią GUI, o ne sudo metodą.

Sudo komandos dizainas

Vartotojai gali pateikti savo slaptažodį sudo, kai reikia, o ne supervartotoją, skirtingai nei komanda su. Tai leidžia prieinamiems vartotojams naudotis kvalifikuotomis privilegijomis, neskelbiant kitos paskyros slaptažodžio.

  • Kai konfigūracijos failas leidžia vartotojui pasiekti, po autentifikavimo sistema prašo nurodytos komandos.
  • Sudo komanda išlaikė vartotojo iškvietimo teises per atidėjimo laiką (paprastai 5 minutes) kiekvienam pseudoterminalui ir leidžia vartotojui vykdyti įvairias nuoseklias komandas kaip reikalaujamam vartotojui, nereikalaujant dar kartą suteikti jokio slaptažodžio.
  • Sudo komanda gali būti sukonfigūruota taip, kad būtų registruojama kiekviena paleista komanda kaip audito ir saugos funkcija.
  • Tuo metu vartotojas fotografuoja, kad iškviestų komandą sudo, neįtrauktas į konfigūracijos failą, vartotojui pateikiama išimties iliustracija, nurodanti, kad šūvis buvo įrašytas.
  • Įrašas būtų išsaugotas sistemos viduje ir root vartotojas būtų informuotas paštu.

Sudo komandos konfigūracija

The /etc/sudoers failas apima vartotojų grupes arba vartotojų, turinčių leidimą vykdyti komandų rinkinį, sąrašą, kartu su root vartotojo ar kito sąraše esančio vartotojo teisėmis. Programa gali būti sukonfigūruota taip, kad reikalingas slaptažodis.

Sudo komandos poveikis

Kai kuriuose sistemos platinimuose sudo komanda pakeitė (numatytąjį) kito supervartotojo prisijungimo vardą įvairioms administracinėms operacijoms, ypač kai kuriuose Apple MacOS ir Linux platinimuose.

Tai apsaugo nuo kelių išnaudojimų, taip pat leidžia labiau apsaugotą administratoriaus komandų registravimą.

RBAC

Sudo komanda gali būti naudojama perėjimui tarp įvairių tipų vaidmenų, naudojant vaidmenimis pagrįstą prieigos valdymą, bendradarbiaujant su SELinux.

Panašios programos ir įrankiai

Visudo yra komandų eilutės įrankis, leidžiantis redaguoti sudo konfigūracijos failą saugiu būdu. Jis atlieka sintaksės ir protingumo patikrinimus, taip pat neleidžia atlikti daugiau nei vieno redagavimo vienu metu kartu su užraktais.

„Runas“ programa palengvina tą patį veikimą „Microsoft Windows“ sistemoje; tačiau jis negali perduoti esamų ilgų komandų eilučių vaikui, aplinkos kintamiesiems ar katalogams.

Tai nepalaiko bendrojo pakilimo, o padeda įvykdyti vaiką kaip bet kurį kitą vartotoją. „Windows“ atveju tikrasis sudo ir su, kurie gali perkelti kiekvieną iš šių būsenų duomenis ir pradėti antrinį vartotoją kaip kitą vartotoją arba padidintą Hamilton C apvalkalas .

kas yra struktūra duomenų struktūroje

GUI galima sudo ( gksudo ypač), bet jis nebenaudojamas Debian'e ir nebenaudojamas Ubuntu. Įvairių kitų tipų vartotojo sąsajos nėra sukurtos tiesiogiai sudo, bet palengvina tą patį privilegijų padidinimą (laikiną) administravimo tikslams, pvz., „Mac OS X“ autorizacijos paslaugos, „Microsoft Windows“ vartotojo abonemento valdymas , ir pkexec „Unix“ tipo operacinėse sistemose .

Nuo 5.8 OpenBSD versijos (2015 m. spalio mėn.), paaukoti yra. Buvo nurodyta pakeisti komandą sudo pagrindinėje OpenBSD sistemoje.

jo vs. sudo

Jei esame įpratę prie klasikinės Linux sąrankos, tada esame įpratę taikyti komandą su, kad gautume root teises. Taip pat galime išleisti komandą su, kad galėtume efektyviai prisijungti kaip šaknis (šaknies namai tampa mūsų namais).

Naudodami tokius paskirstymus galime prisijungti ir kaip maršruto vartotojas. Tačiau nėra gera idėja prisijungti kaip root naudotojas. Jei taikome paskirstymą, kuris priklauso nuo komandos su ir leidžia prisijungti prie šakninio vartotojo, prisijunkite kaip standartinis vartotojas, o su komanda - root naudotojui.

Greičiausiai pastebėsime, kad negalime prisijungti kaip root naudotojas naudodami sudo pagrindu sukurtus paskirstymus. Tiesą sakant, kai kuriuose platinimuose, pvz., Ubuntu, pagrindinio vartotojo paskyra buvo išjungta.

Negalime prisijungti kaip root naudotojas ir naudoti komandą su, kad taptume root vartotoju. Galime duoti šias komandas naudodami komandą sudo, kad gautume administratoriaus teises.

npm diegimo komanda

Sudo komandos naudojimas

Yra du skirtingi būdai, kaip vykdyti administracines programas naudojant „Linux“. Arba galime pakeisti supervartotoją arba root vartotoją naudodami komandą su arba galime pasinaudoti komanda sudo.

Kai išnaudojame savo laiką terminale, sudo yra viena iš svarbių komandų, kurią naudosime gana dažnai. Naudojant komandą sudo, o ne prisijungiant, nes root vartotojas yra labiau apsaugotas, nes vienam vartotojui galime suteikti tik kelias administravimo teises, jam nežinant root slaptažodžio.

Kaip tai įgyvendinsime, priklauso nuo to, kokį platinimą naudojame. Kai kurie paskirstymai leidžia šakniniam vartotojui (pvz., OpenSUSE, Red Hat , arba Fedora ), o kai kurie to nedaro (pvz Debian ir Ubuntu ).

Sudo komandos naudojimas yra labai paprastas. Pavyzdžiui, norėdami įdiegti programinės įrangos dalį, turime vykdyti dpkg. Jei tik paleisime dpkg -i software.deb komandą kaip standartinis vartotojas, gausime klaidos pranešimą, kad vartotojas neturi leidimo vykdyti komandą.

Štai kodėl pagal numatytuosius nustatymus standartiniai vartotojai negali įdiegti įvairių programų naudodami „Linux“ įrenginį. Jei norime įdiegti bet kokią programą Linux kompiuteryje, turime turėti supervartotojo teises.

Vietoj to vykdysime sudo dpkg -i software.deb komandą, kad galėtume sėkmingai vykdyti diegimą.

Sudo komandos įdiegimas

Sudo komandos paketas yra iš anksto įdiegtas daugelyje Linux platinimų. Norėdami patvirtinti, kad paketas įdiegtas mūsų sistemoje, turite atlikti šiuos veiksmus:

  • Pirmiausia atidarykite mūsų terminalą.
  • Įveskite sudo ir spustelėkite įvesties mygtuką.
  • Jei mūsų sistemoje įdiegtas sudo paketas, jis parodys trumpą pranešimą.
  • Kitu atveju pranešime, ty sudo komanda nerasta.
  • Jei paketas neįdiegtas, galime lengvai įdiegti šį paketą, taikydami per platinimo paketų tvarkyklę.

Įdiekite „Sudo“ „Fedora“ ir „CentOS“.

 $ yum install sudo 

Įdiekite Sudo Debian ir Ubuntu

 $ apt install sudo 

Linux sudo

Sudo atnaujinimo komanda

Linux sudo