Cum să revizuiți utilizarea comenzilor sudo pe Linux
Publicat: 2022-08-24 Comanda sudo
oferă unui utilizator superutilizator sau root puteri. Fără îndoială, le-ați dat discursul „cu o mare putere vine o mare responsabilitate”. Iată cum să verificați dacă au ascultat sau nu.
Comanda sudo
Comanda sudo
înseamnă „substitute user do”. Permite unei persoane autorizate să execute o comandă ca și cum ar fi un alt utilizator. Poate prelua parametrii liniei de comandă, dintre care unul este numele utilizatorului pe care doriți să executați comanda. Cel mai comun mod în care este folosit sudo
este să omiteți opțiunile liniei de comandă și să utilizați acțiunea implicită. Aceasta execută eficient comanda ca utilizator root.
Pentru a utiliza sudo
în acest mod necesită o permisiune specială. Numai cei privilegiați pot folosi sudo
. Când instalați o distribuție Linux modernă, vi se solicită să configurați o parolă de root pe care o puteți utiliza cu sudo
. Permisiunea de a face acest lucru este acordată utilizatorului obișnuit pe care îl creați în timpul instalării. Aceasta este modalitatea preferată de a gestiona accesul la capacitățile utilizatorului root. Vechea modalitate era să creați un utilizator root și să vă conectați ca acesta pentru a vă administra sistemul.
Acesta a fost un scenariu periculos. A fost ușor să uiți sau să fii prea leneș să te deconectezi și să te reîncepi ca utilizator obișnuit atunci când nu mai aveai nevoie de privilegii de root. Orice greșeală pe care le-ați făcut în fereastra terminalului ca root ar fi executată, oricât de drastică ar fi. Lucrurile care ar fi blocate de shell dacă un utilizator obișnuit ar încerca să le facă ar rula fără îndoială atunci când root le-ar solicita. Utilizarea contului root în locul unui cont obișnuit reprezintă, de asemenea, un risc de securitate.
Folosirea sudo
concentrează mintea. Intri în aceleași ape periculoase, dar alegi în mod conștient să faci asta și sperăm că ai mare grijă. Îți invoci statutul de superutilizator doar atunci când trebuie să faci ceva care are nevoie de ele.
Dacă deschideți accesul root pentru alți utilizatori, doriți să știți că aceștia au la fel de multă grijă cu ei ca și dvs. Nu vrei ca ei să execute comenzi în mod imprudent sau speculativ. Sănătatea și bunăstarea instalării dvs. Linux depind de utilizatorii privilegiați care se comportă respectuos și responsabil.
Iată câteva modalități de a monitoriza utilizarea rădăcină a acestora.
Fișierul auth.log
Unele distribuții mențin un jurnal de autentificare, într-un fișier numit „auth.log”. Odată cu apariția și adoptarea rapidă a systemd
, necesitatea fișierului „auth.log” a fost eliminată. systemd-journal
consolidează jurnalele de sistem într-un format binar nou, iar journalctl
oferă o modalitate de a examina sau de a interoga jurnalele.
Dacă aveți un fișier „auth.log” pe computerul dvs. Linux, acesta va fi probabil în directorul „/var/log/”, deși pe unele distribuții numele și calea fișierului sunt „/var/log/audit/audit”. .Buturuga."
Puteți deschide fișierul în less
așa. Nu uitați să ajustați calea și numele fișierului pentru a se potrivi cu distribuția dvs. și fiți pregătiți în cazul în care Linuxul dvs. nici măcar nu creează un fișier de autentificare.
Această comandă a funcționat pe Ubuntu 22.04.
mai puțin /var/log/auth.log
Fișierul jurnal este deschis și puteți parcurge fișierul sau puteți utiliza facilitățile de căutare încorporate în less pentru a căuta „sudo”.
Chiar și folosind facilitățile de căutare ale less
, poate dura ceva timp pentru a localiza intrările sudo
care vă interesează.
Să presupunem că vrem să vedem pentru ce a folosit sudo
un utilizator numit mary
. Putem căuta în fișierul de jurnal cu grep
linii cu „sudo” în ele, apoi redirecționăm ieșirea prin grep
și căutăm linii cu „mary” în ele.
Observați sudo
înainte de grep și înainte de numele fișierului jurnal.
sudo grep sudo /var/log/auth.log | grep "mary"
Acest lucru ne oferă linii care au „sudo” și „mary” în ele.
Putem vedea că utilizatorul mary
a primit privilegii sudo
la 15:25, iar la 15:27 ea deschide fișierul fstab
într-un editor. Acesta este tipul de activitate care merită cu siguranță o scufundare mai profundă, începând cu un chat cu utilizatorul.
Folosind journalctl
Metoda preferată pentru distribuțiile Linux bazate pe systmd
este utilizarea comenzii journalctl
pentru a revizui jurnalele de sistem.
Dacă transmitem numele unui program către journalctl
, acesta va căuta în fișierele jurnal intrări care conțin referințe la acel program. Deoarece sudo
este un binar situat la „/usr/bin/sudo”, îl putem transmite lui journactl
. Opțiunea -e
(sfârșitul paginatorului) îi spune journalctl
să deschidă paginatorul de fișiere implicit. De obicei, acest lucru va fi less
. Afișajul este derulat automat în partea de jos pentru a afișa cele mai recente intrări.
sudo journalctl -e /usr/bin/sudo
Intrările de jurnal care prezintă sudo
sunt listate în mai puțin.
Utilizați tasta „Săgeată dreapta” pentru a derula la dreapta pentru a vedea comanda care a fost folosită cu fiecare dintre invocările sudo
. (Sau întindeți fereastra terminalului astfel încât să fie mai lată.)
Și deoarece rezultatul este afișat în less
, puteți căuta text, cum ar fi numele comenzilor, numele utilizatorilor și marcajele de timp.
LEGATE: Cum să utilizați journalctl pentru a citi jurnalele de sistem Linux
Utilizarea utilitarului GNOME Logs
Mediile desktop grafice includ de obicei un mijloc de revizuire a jurnalelor. Ne vom uita la utilitarul jurnalele GNOME. Pentru a accesa utilitarul jurnal, apăsați tasta „Super” din stânga „barei de spațiu”.
Tastați „jurnale” în câmpul de căutare. Apare pictograma „Jurnale”.
Faceți clic pe pictogramă pentru a lansa aplicația „Jurnale”.
Făcând clic pe categoriile din bara laterală, mesajele din jurnal se vor filtra după tipul de mesaj. Pentru a face selecții mai detaliate, faceți clic pe categoria „Toate” din bara laterală, apoi faceți clic pe pictograma lupă din bara de instrumente. Introduceți un text de căutare. Vom căuta „sudo”.
Lista de evenimente este filtrată pentru a afișa numai acele evenimente care se referă la comanda sudo
. Un mic bloc gri la sfârșitul fiecărei linii conține numărul de intrări din acea sesiune de eveniment. Faceți clic pe o linie pentru a o extinde.
Am dat clic pe linia de sus pentru a vedea detaliile celor 24 de intrări din acea sesiune.
Cu un mic defilare, putem vedea aceleași evenimente pe care le-am văzut când am folosit comanda journalctl
. Sesiunea de editare inexplicabilă a utilizatorului mary
în fișierul fstab
este rapid găsită. Am fi putut căuta „mary”, dar aceasta ar include alte intrări decât utilizarea ei a sudo
.
Nu toată lumea are nevoie de acces root
Acolo unde există o cerință reală și sensibilă, acordarea de privilegii sudo
altor utilizatori poate avea sens. De asemenea, este logic să verificăm utilizarea - sau abuzul - de aceste puteri, mai ales imediat după ce le-au fost acordate.