Ce înseamnă și ce face sudo?

„Poate cineva să-mi spună ce înseamnă sudo?” Învăț Linux. Am căutat pe Google, dar cineva poate să-mi ofere o comparație Windows , cred că acest lucru mă va ajuta puțin. Știu că su înseamnă schimb de utilizator. sudo este un alt utilizator, dar cum și de ce? De ce nu vă puteți acorda permisiunile sub numele dvs. de utilizator?

Comentarii

  • În Windows, dacă nu aveți ‘ nu aveți drepturi de administrator, trebuie să furnizați numele și parola pentru un cont care funcționează la fel. Puteți, desigur, să vă acordați permisiunea sub numele dvs. de utilizator, pur și simplu nu este inteligent să faceți acest lucru, ca orice program care rularea dvs. poate modifica apoi orice aveți permisiunea. Acesta este unul dintre motivele pentru care Windows a fost nesigur de atâta timp.
  • @KnowledgeBeyondMe: Ce este subiectul întrebării? Vă rugăm să îl schimbați în ceva semnificativ.
  • ok, așa că permiteți-mi să văd dacă înțeleg acest lucru. În loc de oameni care au conturi de administrator, toată lumea are potențialul de a fi administrator utilizând numele de utilizator sudo. Cu toate acestea, utilizând acel nume de utilizator sudo acțiunile vor fi înregistrate din nou către dvs., deoarece sunt un pic ca un act de nume real de utilizator. Dacă este așa, îmi place foarte mult. Economisește o mulțime de timp. Nu aveți ‘ nu trebuie să așteptați ca cineva cu privilegii să vină la dvs. pentru a adăuga software și imprimante și altele.

Răspundeți

sudo vă permite să rulați un program ca super utilizator root . Folosind-o în loc de su,

  1. nu trebuie să cunoașteți parola de root deoarece vă solicită parola,
  2. știți în mod explicit ce comenzi vor rula ca rădăcină și care altele ca dvs. Dacă utilizați su, aveți un shell și puteți rula din neatenție unele programe (periculoase) și
  3. toate acțiunile dvs. sunt conectate la auth.log fișier. Acțiunile dintr-un shell, cum ar fi una inițiată de su nu sunt de obicei înregistrate .

De ce nu vă puteți acorda permisiunile sub numele dvs. de utilizator?

Pentru din motive de securitate, contul rădăcină este rar folosit în scopuri de zi cu zi . De obicei, toți utilizatorii, inclusiv administratorii, folosesc un utilizator „normal” și execută numai comenzi ca root atunci când este necesar. Acest lucru poate împiedica (1) accesul neautorizat la fișierele altor utilizatori, (2) acțiunile root care nu sunt înregistrate și (3) problemele cauzate de executarea programelor „periculoase”.

este o analogie în Wikipedia pe care o puteți lua în considerare:

  • Utilizarea unui cont root este mai degrabă ca și cum ar fi Superman; utilizatorul seamănă mai mult cu Clark Kent. Clark Kent devine Superman doar atât timp cât este necesar, pentru a salva oamenii. Apoi revine la „deghizarea” sa. Accesul la rădăcină trebuie utilizat în același mod. Deghizarea lui Clark Kent nu-l restricționează cu adevărat, întrucât el este încă capabil să-și folosească super-puterile. Acest lucru este analog cu utilizarea programului sudo.

Comentarii

  • Utilizarea sudo este mai degrabă ca și cum ai fi Goofy până când mănânci o super arahide care te transformă în Super Goof. Super puterile tale se epuizează după un timeout (implicit 15 minute), după care vi se solicită o nouă arahide … er, parola dvs.
  • ok, așa că permiteți-mi să văd dacă înțeleg acest lucru. În loc de oameni care au conturi de administrator, toată lumea are potențialul de a fii administrator folosind numele de utilizator sudo. Cu toate acestea, folosind acel nume de utilizator sudo acțiunile tale vor fi înregistrate din nou la tine, deoarece este un fel de naibii din contul tău real de nume de utilizator. Dacă este așa, îmi place foarte mult. Economisește tone de timp. Nu ‘ nu trebuie să așteptați ca cineva cu privilegii să vină la dvs. pentru a adăuga software și imprimante și altele.
  • @KnowledgeBeyondMe Toată lumea are puternic ial pentru a fi administrator, dar trebuie totuși să fii autorizat fiind listat în /etc/sudoers. Există câteva alte avantaje ale sudo față de su, dar principalul punct al sudo este că vă autentificați folosind propria parolă. Parolele partajate sunt greșite.
  • Trebuie să autorizați persoanele, inclusiv să le includă în /etc/sudoers sau folosind alte tehnici , pentru a rula sudo. De obicei, nu autorizați toate persoanele, ci doar administratorii de sistem.

Răspuns

În mod implicit, la majoritatea unităților , contul „administrator”, rădăcină, trebuie să fie folosit doar cu modă. Există doar două niveluri de drepturi de administrator sau „super utilizator” pe un sistem Unix normal: fie aveți control deplin asupra totul , fie nu aveți.

„Control complet” include eludarea majorității verificărilor de permisiune și a dezordine complet sistemul printr-o simplă greșeală de scriere. Ca utilizator obișnuit, puteți cel mult să ștergeți propriile fișiere.

Utilitarul su mai vechi este utilizat împreună cu parola de root pentru a-și asuma identitatea de root, dar poate fi, de asemenea, utilizat pentru a-și asuma identitățile altor utilizatori sau pentru a executa comenzi unice ca acestea, având în vedere că aparțineți grupului corect de utilizatori și cunoașteți parolele lor .

su este utilizat în mod obișnuit de utilizatorul root (pe unele sisteme Unix) pentru a porni demoni (procese de servicii) care trebuie să ruleze sub anumite identități de utilizator pentru a le proteja de accesarea zonelor că nu ar trebui să aibă acces (de obicei, servere web, server SSH și altele asemenea). Acest lucru se poate face în scripturile de pornire pe măsură ce sistemul pornește.

su este mai rar folosit interactiv (pe linia de comandă).

Utilitarul sudo necesită o configurație puțin mai mare, deoarece permite unui utilizator să execute comenzi ca altul utilizând parola propria parolă (ceea ce înseamnă că o parolă root, de exemplu, nu trebuie să fie partajată) și permite, de asemenea, un control fin al cine are voie să facă exact ce. S-ar putea oferi, de exemplu, unui singur utilizator, sau unui întreg grup de utilizatori, posibilitatea de a monta un anumit disc, dar nu de a-l demonta sau de a monta alte discuri sau de a instala software folosind comenzi specifice etc. Din nou, sudo permite asumarea identităților altor utilizatori (nu doar rădăcină) pentru sesiuni interactive sau executarea unor comenzi unice (dacă configurația a fost configurată în acest fel de către o altă persoană cu rădăcină permisiuni).

De obicei, se execută comenzi unice folosind sudo (de unde și numele „superuser do”):

$ sudo apt-get install vim 

sau

$ sudo shutdown -ph now 

Utilizarea sudo în acest mod este preferată utilizării sudo -s și funcționează cu un shell rădăcină interactiv, deoarece comenzile pe care le executați sunt înregistrate. Se poate urmări ulterior acțiunile din fișierul jurnal pentru a vedea unde (și cine) a făcut ceva, fie pentru depanare sau pentru audit.

Dacă vă găsiți tip La distanță de o solicitare de interacțiune rădăcină pentru o perioadă extinsă de timp, atunci ar trebui să reconsiderați ceea ce faceți și dacă acest lucru necesită cu adevărat privilegii de rădăcină.

De exemplu, singura dată când eu afișează un prompt rădăcină interactiv atunci când adaug un utilizator obișnuit pentru mine pe o mașină proaspăt instalată sau când am cu adevărat unele probleme grave care mă împiedică să mă conectez chiar și ca utilizator obișnuit. >

OpenBSD (de la versiunea 5.8) are un utilitar numit doas care înlocuiește sudo în instalarea implicită a sistemului. A fost dezvoltat când a devenit clar că sudo devenise prea complex pentru a se potrivi obiectivelor stabilite de dezvoltatorii OpenBSD. Utilizarea sa este similară cu cea a sudo, , dar configurarea acestuia este mai ușoară .

Răspuns

În versiunile anterioare ale Unix, cel mai obișnuit scenariu era să vă conectați printr-un terminal fără un sistem de ferestre. Comanda su (utilizator substitut) a fost o modalitate convenabilă de a vă schimba permisiunile curente fără a vă deconecta. Amintiți-vă, fără deconectarea unui sistem de ferestre, a însemnat oprirea a ceea ce ați rulat.

Utilizarea su pentru a deveni root are unele probleme enervante. Ocazional, oamenii ar uita să părăsească sesiunea și să execute accidental comenzi ca root. Schimbarea parolei administrative a fost complicată de faptul că trebuie să o distribuiți tuturor celor care au nevoie de ea. Majoritatea sistemelor nu au înregistrat fiecare comandă, astfel încât a fost dificil de spus cine a făcut ce ca root. Și așa mai departe.

sudo a abordat aceste probleme lăsând oamenii să ruleze o singură comandă ca root. Oferă un control și un control mai bun, fiind în același timp un pic mai convenabil pentru comenzi one-off.

Răspunde

ok, așa că lasă-mă să văd dacă înțeleg asta. În loc de oameni care au conturi de administrator, toată lumea are potențialul de a fi administrator utilizând numele de utilizator sudo. Cu toate acestea, prin utilizarea acelui nume de utilizator sudo, acțiunile dvs. vor fi înregistrate din nou la dvs., deoarece sunt un fel de naibii de pe numele dvs. de utilizator real. Dacă este așa, îmi place foarte mult. Economisește tone de timp. Nu trebuie să așteptați ca cineva cu privilegii să vină la dvs. pentru a adăuga software și imprimante și altele.

Comentarii

  • sudo este un utilitar, nu un nume de utilizator. Cineva trebuie să vă ofere în continuare dreptul de a utiliza sudo. Dreptul poate fi limitat la utilizarea comenzi speciale sau pentru a utiliza sudo pentru a-și asuma alte identități de utilizator. sudo poate fi utilizat pentru a comuta la alte roluri decât la root.
  • oh, așa că seamănă cu grupurile organizaționale Active Directory? Aveți propriul dvs. nume de utilizator cu privilegii, dar dacă vi se acordă permisiuni, puteți accesa privirile unei organizații specializate. ORG în acest sens ar fi utilitarul SUDO?
  • Neștiind ce este un ” Active Directory ” Nu pot ‘ să spun cu certitudine da sau nu.
  • Mecanismul de control al drepturilor și rolurilor din Windows.
  • Nu, sudo nu este un grup sau un cont de utilizator. – În Windows, Active Directory și LDAP puteți defini grupuri de utilizatori. În Linux, puteți defini și grupuri de utilizatori. De exemplu, linux-ul dvs. are de obicei un grup admin. Fiecare utilizator poate aparține unui grup principal și a mai multor grupuri secundare . – Puteți autoriza sudo toți membrii unui grup . Dacă bifați /etc/sudoers, grupurile autorizate au un prefix %.

Răspuns

sudo vă permite să rulați un program ca un utilizator diferit (inclusiv rădăcină) pe baza unui set de reguli configurabil, predefinit.

Activat o rădăcină de sistem Unix / POSIX / Linux este Dumnezeu. Utilizatorul root este, de asemenea, singular.

În multe medii există mai mulți administratori care ar putea necesita acces complet root, dar pot exista și persoane care necesită acces pentru a face o anumită funcție specifică rezervată de obicei root; DBA-urile trebuie să oprească și să pornească serviciile DB, să editeze configurările DB, administratorii de rețea trebuie să configureze dispozitivele și rutele de rețea, administratorii de securitate trebuie să gestioneze certificatele și să configureze firewall-urile.

Prin constrângerea comenzilor pe care o persoană le poate executa, sudo aplică principiul minimului privilegiu – utilizatorii nu au acces de care nu au nevoie. Dar nu constrânge doar binarele pe care le rulează utilizatorii. Multe sarcini de administrare sunt efectuate de pe linia de comandă – iar parametrii trecuți la acea comandă pot fi, de asemenea, constrânși de sudo (sau capturați într-un script shell cu acces furnizat de sudo), prin urmare este posibil să restricționați datele / dispozitivele pe care aceștia le-au specializat administratorii pot accesa.

De ce nu îți poți da permisiunile sub numele tău de utilizator?

1) acest lucru ar fi rău.

  • Am avut adesea acces la contul rădăcină pe sisteme – dar am configurat întotdeauna un cont numit pentru a fi utilizat pentru conectare , și numai „su” sau „sudo” atunci când vreau să invoc în mod explicit super-puterile mele. În plus față de evitarea greșelilor prostești, contul meu numit oferă un sandbox pentru componentele care nu se comportă prost.

  • ce se întâmplă dacă există 5 persoane care au nevoie de acces privilegiat, îl acord tuturor? Ce zici de 20? Ce zici de 200?

2) acest lucru ar fi dificil

  • nu este modelul de securitate Unix. Sigur că ați putea modifica permisiunile pentru unele executabile (a se vedea nota anterioară despre parametri). Dar dacă sunteți conștient de securitate, aplicați patch-uri în mod regulat – ceea ce poate submina un model de permisiuni personalizat (sudo OTOH își păstrează permisiunile independent de comenzile în sine).

Comentarii

  • ahhh, acesta este motivul pentru care Linux este puțin mai dificil de atacat. Mai puține persoane cu drepturi. Atacatorul ar trebui să găsească persoana potrivită cu drepturile potrivite. per se.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *