Cum să utilizați comanda sudo
Pe majoritatea sistemelor Linux, există două tipuri de bază de conturi de utilizator: utilizatorul root (care mai este numit și „super utilizator”) și utilizatorul normal .
Contul de utilizator root este un cont special care are acces deplin la orice program și toate fișierele din sistem. Un cont de utilizator obișnuit are acces doar la propriul director principal, la orice programe și fișiere accesibile în mod obișnuit și, eventual, la orice programe și fișiere la care utilizatorul i s-a acordat acces (de către utilizatorul root).
Acest lucru implică faptul că există programe și fișiere la care un utilizator normal nu are acces implicit. De exemplu, un utilizator normal nu poate folosi instrumentele apt-get și dpkg manager de pachete pentru instalarea sau actualizarea pachetelor pe un sistem Debian/Ubuntu. De asemenea, acest tip de utilizator nu poate edita niciun fișier de configurare globală situat în directorul „/etc”. Există multe alte situații la fel ca aceste exemple.
Pentru a permite utilizatorilor normali să facă anumite sarcini cu privilegii de utilizator root, fără a le oferi parola de root, putem folosi instrumentul sudo .
Cu sudo , este posibil să acordați utilizatorilor acces la anumite comenzi de pe anumite gazde sau pur și simplu să le acordați acces la tot ceea ce poate face utilizatorul root. Sudo înregistrează, de asemenea, fiecare comandă executată într-un fișier jurnal (/var/log/auth.log), astfel încât administratorul de sistem să poată urmări ce se face cu sudo.
Configurare Sudo
Pentru a afla cum să configurați sudo pentru anumiți utilizatori și cu anumite restricții, consultați aceste tutoriale:
- Cum să editați fișierul Sudoers pe Ubuntu și CentOS
- Cum să adăugați, să ștergeți și să acordați privilegii Sudo utilizatorilor de pe un VPS Debian
Pentru a afla exact ce permisiuni sudo aveți pe sistemul dvs., executați următoarea comandă:
sudo -l
Acest lucru ar putea avea ca rezultat următoarea ieșire pentru exemplul de utilizator „john” pe gazda „server1”:
Intrările implicite care se potrivesc pentru john pe server1: env_reset, mail_badpass, secure_path=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin Utilizatorul john poate rula următoarele comenzi pe server1: (TOT: TOATE) TOATE
Ultima linie înseamnă că acest utilizator poate executa sudo pe toate gazdele ca orice utilizator țintă pentru orice comandă.
Opțiuni de comandă Sudo
Acesta este un rezumat al opțiunilor de comandă sudo pe care le vom folosi în acest tutorial:
- -l : listează permisiunile utilizatorului care invocă sudo
- -u : executați comanda ca alt utilizator
- -e : editați unul sau mai multe fișiere în loc să executați o comandă
- sudoedit este un alias pentru „sudo -e”
Exemple de comenzi Sudo
Pentru a rula comenzi ca utilizator root, veți folosi următoarea sintaxă:
comanda sudo
Să instalăm software-ul de control al versiunilor „git” folosind managerul de pachete apt-get . Dacă ar fi să încercăm acest lucru fără a folosi sudo :
apt-get install git
Am primi acest mesaj de eroare:
E: Nu s-a putut deschide fișierul de blocare /var/lib/dpkg/lock – deschide (13: Permisiune refuzată) E: Nu se poate bloca directorul de administrare (/var/lib/dpkg/), ești root?
Cu toate acestea, dacă acum adăugăm comanda sudo înainte de comanda anterioară, ni se va cere să completăm mai întâi propria noastră parolă, după care sistemul va executa comanda noastră cu privilegiile utilizatorului root:
sudo apt-get install git
Cu sudo , putem rula comenzi ca alt utilizator decât root, folosind opțiunea -u . Acest lucru poate fi util în cazurile în care anumite programe se așteaptă la un anumit mediu de utilizator (adică pentru utilizatorii bazei de date mysql sau postgres). Sintaxa pentru a face acest lucru este:
comanda sudo -u username
Pentru a rula aplicații desktop (ferestre grafice) ca alt utilizator, trebuie să folosim comanda gksu .
De exemplu, am deschide synaptic (fața managerului de pachete Debian/Ubuntu) astfel din linia de comandă (în loc să trecem prin sistemul de meniuri desktop):
gksu sinaptic
Vi se va cere să introduceți parola într-o fereastră grafică, după care începe executarea comenzii.
Pentru a edita un fișier ca utilizator root în loc să executați o comandă:
sudo -e /etc/hostname
Ai fi putut folosi comanda sudoedit , care este pur și simplu o comandă rapidă pentru sudo -e.
„sudoedit /etc/hostname”
Rețineți că puteți schimba editorul folosit așa cum este descris aici.
Alternativ, ați putea pur și simplu să executați editorul preferat:
sudo vim /etc/hostname
Dacă trebuie să aveți privilegii root pentru mai multe comenzi diferite, uneori poate fi util să deveniți utilizator root. Această comandă va funcționa numai dacă utilizatorul care invocă are drepturi de executare a comenzii su (numit și utilizator înlocuitor , super utilizator sau utilizator comutator ). În mod implicit, fără niciun alt argument de linie de comandă, acest lucru va ridica utilizatorul curent la utilizatorul rădăcină al sistemului local.
su
Acum puteți face o serie de sarcini care necesită privilegii de utilizator root. Ai grijă, totuși, să nu faci ravagii cu aceste superputeri persistente.
Dezvăluirea agentului de publicitate
Gazduirweb este o resursă online gratuită care oferă utilizatorilor conținut valoros și servicii de comparare. Pentru a menține această resursă 100% gratuită, primim compensații de la multe dintre ofertele afișate pe site. Împreună cu factorii cheie de revizuire, această compensație poate afecta modul în care și locul în care apar produsele pe site (inclusiv, de exemplu, ordinea în care apar). Gazduirweb nu include întregul univers al ofertelor disponibile. Opiniile editoriale exprimate pe site sunt strict ale noastre și nu sunt furnizate, susținute sau aprobate de agenții de publicitate.
Politica noastră de revizuire editorială
Site-ul nostru se angajează să publice conținut independent, precis, ghidat de reguli editoriale stricte. Înainte ca articolele și recenziile să fie publicate pe site-ul nostru, acestea sunt supuse unui proces amănunțit de revizuire efectuat de o echipă de editori independenți și experți în materie pentru a asigura acuratețea, actualitatea și imparțialitatea conținutului. Echipa noastră editorială este separată și independentă de agenții de publicitate ai site-ului nostru, iar opiniile pe care le exprimă pe site-ul nostru sunt proprii. Pentru a citi mai multe despre membrii echipei noastre și despre mediul lor editorial, vă rugăm să vizitați pagina Despre a site-ului nostru.
Leave a Reply