Skip to main content

Kas yra Linux Sudo?

Anonim

Kai paleidžiate administravimo programas "Linux", galite naudoti komandą su ("switch user"), kad pereitumėte prie superuserio (root), arba galite naudoti komandą sudo ("super user do").

Vienas iš būdų sužinoti, kada naudoti sudo komandą, yra tai, kad bandote paleisti komandas terminalo tik, kad būtų įvykdytos "access denied" arba "operation requires super user privilege" klaidos. Šios klaidos gali atsirasti, jei "Linux" paskirstymas, pvz., "Ubuntu", neleidžia naudoti šakninio vartotojo. Kai naudojate sudo komandą, ta komanda gali būti paleista su aukštesnėmis teisėmis.

Tačiau, jei pasirinksite naudoti su komandą, jūs perjungiate visą naudotoją į root, o tai reiškia, kad net ir po pirmosios komandos, kiekviena paskesnė taip pat paleidžiama su šaknies kredencialais. Tai leidžia lengvai atsitiktinai paleisti aukštesnę komandą, kuri gali padaryti daug žalos, jei nesate atsargūs.

Pataisyti: sudo veikia tik kiekvienai komandai, kuri prasideda kaip "sudo", o su leidžia kiekvienas komandą, kad greitai paleisti kaip superuser, nereikia įvesti sudo ar su prieš kiekvieną iš jų.

Kaip tai veikia

Nors jie veikia skirtingai, galite palyginti sudo komandą su eilute, kurią galite matyti sistemoje "Windows" arba "macOS". Kai klausiate šių operacinių sistemų, jei norite tęsti tokio konkretaus veiksmo vykdymą, jūs sutinkate su mygtuku, kuriuo patvirtinate, kad norite paleisti veiksmą su padidinta privilegija, o kartais galite net įvesti administratoriaus slaptažodį .

Kaip ir tuose operacinėse sistemose, Linux naudoja sudo komandą kaip sieną tarp įprastų užduočių ir administratorių, todėl turite patvirtinti, kad norite atlikti viską, ką komanda vykdys. Dar labiau panašus yra "runas" komanda "Windows"; kaip ir Linux, komanda runas veikia iš komandinės eilutės, norint paleisti tam tikro vartotojo, dažnai administratoriaus, failą su kredencialais.

Patarimas: Jei nesate įsitikinę, ar naudojate sudo ar su, pažvelkite į pabaigos simbolį komandinėje eilutėje. Jei tai yra svaras ženklas (#), esate prisijungęs kaip root.

Apie "Sudo" komandą

Linux sistemoje sudo (išreikšta "sue teas") leidžia sistemos administratoriui suteikti tam tikriems naudotojams ar vartotojų grupėms galimybę paleisti kai kurias arba visas komandas kaip root, kai registruojamos visos komandos ir argumentai. Tačiau tai nėra pakaitalas.

Kai įdėkite "sudo" prieš bet kurią terminalo komandą, paleidžiama tokia funkcija su padidintomis privilegijomis, todėl tai yra sprendimas dėl privilegijos susijusių klaidų. Tai reikalinga, jei norite paleisti komandas, kurios laikomos administravimo užduotimis.

"Sudo" veikia pagal komandą. Funkcijos apima galimybę apriboti komandas, kurias vartotojas gali paleisti kiekvieno valdovo pagrindu, gausus kiekvienos komandos registravimą, kad būtų pateikta aiški audito seka, kas ką padarė, konfigūruojamas sudo komandų laikas ir galimybė naudoti tą patį konfigūracijos failą daugelyje skirtingų mašinų.

Sudo komandos pavyzdys

Standartinis vartotojas be administratoriaus teisių gali į Linux komandą įdiegti programinės įrangos dalį:

dpkg -i software.deb

Komanda grąžina klaidą, nes asmeniui, neturinčiam administratoriaus teisių, neleidžiama įdiegti programinės įrangos. Tačiau komanda sudo ateina į pagalbą. Vietoj to teisinga šio vartotojo komanda yra:

sudo dpkg -i software.deb

Šį kartą programinė įranga įdiegta. Tai daroma prielaida, kad asmuo, turintis administratoriaus teises, anksčiau sukonfigūravo "Linux", kad vartotojas galėtų įdiegti programinę įrangą arba, jei raginama su slaptažodžiu, kad slaptažodis buvo teisingai įvestas.

Pastaba: Taip pat galite sukonfigūruoti "Linux", kad kai kurie naudotojai negalėtų naudoti komandos sudo.