22Aug
Ca cele mai multe lucruri pe Linux, comanda sudo este foarte configurabilă.Aveți posibilitatea să executați comenzi sudo specifice fără a cere o parolă, să restricționați anumiți utilizatori doar la comenzile aprobate, comenzile de jurnalizare executate cu sudo și multe altele.
Comportamentul comenzii sudo este controlat de fișierul sudoers /etc/ din sistemul dumneavoastră.Această comandă trebuie editată cu comanda visudo, care efectuează verificarea sintaxei pentru a vă asigura că nu rupeți accidental fișierul.
Specificați utilizatorii cu permisiuni Sudo
Contul de utilizator pe care îl creați în timpul instalării Ubuntu este marcat ca un cont Administrator, ceea ce înseamnă că poate utiliza sudo. Toate conturile de utilizator suplimentare create după instalare pot fi fie conturi de administrator, fie conturi standard - conturile de utilizator standard nu au permisiuni sudo.
Puteți controla grafic tipurile de cont de utilizator din instrumentul conturilor de utilizator Ubuntu. Pentru ao deschide, faceți clic pe numele de utilizator din panou și selectați Conturi utilizator sau căutați Conturi utilizator în liniuță.
Faceți Sudo uitați parola
În mod implicit, sudo își amintește parola pentru 15 minute după ce tastați-o. Acesta este motivul pentru care trebuie doar să introduceți parola o singură dată când executați mai multe comenzi cu sudo în succesiune rapidă.Dacă sunteți pe punctul de a lăsa pe altcineva să utilizeze computerul și doriți ca sudo să solicite parola atunci când rulează în continuare, executați următoarea comandă și sudo vă va uita parola:
sudo -k
Întreabă întotdeauna o parolă
Dacă"Mai degrabă trebuie să vi se solicite de fiecare dată când utilizați sudo - de exemplu, dacă alte persoane au în mod regulat acces la computerul dvs., puteți dezactiva complet comportamentul de reținere a parolei.
Această setare, ca și alte setări sudo, este cuprinsă în fișierul sudoers /etc/.Rulați comanda visudo într-un terminal pentru a deschide fișierul pentru editare:
sudo visudo
În ciuda numelui său, această comandă este implicită pentru editorul nano, ușor de utilizat, în locul editorului tradițional vi pe Ubuntu.
Adăugați următoarea linie sub celelalte linii prestabilite din fișier:
Valori implicite timestamp_timeout = 0
Apăsați Ctrl + O pentru a salva fișierul, apoi apăsați Ctrl + X pentru a închide Nano. Sudo vă va cere întotdeauna o parolă.
Modificarea perioadei de expirare a parolei
Pentru a seta un interval de timp diferit pentru parolă - fie unul mai lung ca 30 de minute, fie unul mai scurt ca 5 minute - urmați pașii de mai sus, dar utilizați o valoare diferită pentru timestamp_timeout. Numărul corespunde numărului de minute pe care sudo le va aminti pentru parola dvs. Pentru ca sudo să vă amintiți parola pentru 5 minute, adăugați următoarea linie:
Implicit timestamp_timeout = 5
Niciodată nu cereți o parolă
Puteți, de asemenea, să nu mai cereți niciodată o parolă - atâta timp cât sunteți logat, fiecare comandăprefixul cu sudo va rula cu permisiunile root. Pentru a face acest lucru, adăugați următoarea linie în fișierul sudoers, unde numele de utilizator este numele dvs. de utilizator:
username ALL =( ALL) NOPASSWD: ALL
De asemenea, puteți schimba linia% sudo - adică linia care permite tuturor utilizatorilorsudo grup( cunoscuți și sub numele de utilizatori Administrator) pentru a utiliza sudo - pentru ca toți utilizatorii Administrator să nu solicite parole:
% sudo ALL =( ALL: ALL) NOPASSWD: ALL
Comenzi specifice executați fără o parolă
Puteți specifica și comenzi specificenu va cere niciodată o parolă atunci când rulează cu sudo.În loc să utilizați "ALL" după NOPASSWD de mai sus, specificați locația comenzilor. De exemplu, următoarea linie va permite contului dvs. de utilizator să execute comenzile apt-get și shutdown fără o parolă.
nume utilizator ALL =( ALL) NOPASSWD: /usr/bin/ apt-get, /sbin/ shutdown
Acest lucru poate fi util în special atunci când executați anumite comenzi cu sudo într-un script.
Permite unui utilizator să execute numai comenzi specifice
În timp ce puteți comanda negru anumite comenzi și împiedica utilizatorii să le execute cu sudo, acest lucru nu este foarte eficient. De exemplu, puteți specifica faptul că un cont de utilizator nu poate executa comanda de închidere cu sudo. Dar acel cont de utilizator ar putea rula comanda cp cu sudo, crea o copie a comenzii de închidere și închide sistemul utilizând copia.
O modalitate mai eficientă este de a comanda comenzi specifice în lista albă.De exemplu, ați putea da unui cont de utilizator standard permisiunea de a utiliza comenzile apt-get și shutdown, dar nu mai mult. Pentru a face acest lucru, adăugați următoarea linie, în care standarduser este numele de utilizator al utilizatorului:
standarduser ALL = /usr/bin/ apt-get, /sbin/ shutdown
Următoarea comandă ne va spune ce comenzi poate rula utilizatorul cu sudo:
sudo -U standarduser -l
Logare Sudo Acces
Puteți loga toate accesurile sudo prin adăugarea următoarei linii. /var/log/ sudo este doar un exemplu;puteți utiliza orice locație de fișier jurnal care vă place.
Valori implicite logfile = /var/log/ sudo
Vizualizați conținutul fișierului jurnal cu o comandă ca aceasta:
sudo cat /var/log/ sudo
Rețineți că, dacă un utilizator are acces sudo nerestricționat, acel utilizator are capacitatea de a șterge sau modificaconținutul acestui fișier. Un utilizator putea accesa, de asemenea, un prompt root cu sudo și rula comenzi care nu ar fi înregistrate. Funcția de înregistrare este foarte utilă atunci când este cuplată cu conturile de utilizator care au restricționat accesul la un subset de comenzi de sistem.