La fel ca majoritatea lucrurilor de pe Linux, comanda sudo este foarte configurabilă. Puteți face sudo să execute comenzi specifice fără să solicitați o parolă, să restricționați anumiți utilizatori la numai comenzi aprobate, comenzi jurnal rulate cu sudo și multe altele.
Comportamentul comenzii sudo este controlat de fișierul / etc / sudoers din sistemul dvs. 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 de administrator, ceea ce înseamnă că poate folosi sudo. Orice cont de utilizator suplimentar pe care îl creați după instalare poate fi cont de administrator sau cont de utilizator standard - Conturile de utilizator standard nu au permisiuni sudo.
Puteți controla grafic tipurile de conturi de utilizator din instrumentul Conturi utilizator Ubuntu. Pentru a-l deschide, faceți clic pe numele dvs. de utilizator de pe panou și selectați Conturi de utilizator sau căutați Conturi de utilizator în liniuță.
Faceți ca Sudo să uite parola
În mod implicit, sudo își amintește parola timp de 15 minute după ce ați introdus-o. Acesta este motivul pentru care trebuie să tastați parola o singură dată când executați mai multe comenzi cu sudo în succesiune rapidă. Dacă sunteți pe cale să permiteți altcuiva să vă utilizeze computerul și doriți ca sudo să ceară parola când va rula următoarea, executați următoarea comandă și sudo vă va uita parola:
sudo –k
Solicitați întotdeauna o parolă
Dacă preferați să vi se solicite de fiecare dată când utilizați sudo - de exemplu, dacă alte persoane au acces în mod regulat la computerul dvs. - puteți dezactiva complet comportamentul de memorare a parolei.
Această setare, ca și alte setări sudo, este conținută în fișierul / etc / sudoers. Rulați comanda visudo într-un terminal pentru a deschide fișierul pentru editare:
sudo visudo
În ciuda numelui său, această comandă implicită este noul editor nano ușor de utilizat în loc de editorul tradițional vi de pe Ubuntu.
Adăugați următoarea linie sub celelalte linii implicite 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. Acum, Sudo vă va solicita întotdeauna o parolă.
Modificați expirarea parolei
Pentru a seta un timeout de parolă diferit - fie unul mai lung, cum ar fi 30 de minute, fie unul mai scurt, cum ar fi 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 pentru care sudo îți va aminti parola. Pentru ca sudo să-și amintească parola timp de 5 minute, adăugați următoarea linie:
Valori implicite timestamp_timeout = 5
Nu cereți niciodată o parolă
De asemenea, aveți posibilitatea ca sudo să nu ceară niciodată o parolă - atâta timp cât sunteți conectat, fiecare comandă pe care o prefixați 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:
nume de utilizator ALL = (ALL) NOPASSWD: ALL
De asemenea, puteți schimba linia% sudo - adică linia care permite tuturor utilizatorilor din grupul sudo (cunoscuți și ca utilizatori Administrator) să utilizeze sudo - pentru ca toți utilizatorii Administrator să nu necesite parole:
% sudo ALL = (ALL: ALL) NOPASSWD: ALL
Rulați comenzi specifice fără parolă
De asemenea, puteți specifica comenzi specifice care nu vor necesita niciodată o parolă atunci când rulați 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ă ruleze comenzile apt-get și shutdown fără o parolă.
nume de utilizator ALL = (ALL) NOPASSWD: / usr / bin / apt-get, / sbin / shutdown
Acest lucru poate fi deosebit de util atunci când executați comenzi specifice cu sudo într-un script.
Permiteți unui utilizator să execute numai comenzi specifice
Deși puteți lista în ordine neagră comenzi specifice și puteți împiedica utilizatorii să le ruleze cu sudo, acest lucru nu este foarte eficient. De exemplu, puteți specifica 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, poate crea o copie a comenzii de închidere și a închide sistemul folosind copia.
O modalitate mai eficientă este să introduci în listă albă comenzi specifice. De exemplu, puteți acorda 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, unde utilizatorul standard este numele de utilizator al utilizatorului:
standarduser ALL = / usr / bin / apt-get, / sbin / shutdown
Următoarea comandă ne va spune ce comenzi poate executa utilizatorul cu sudo:
sudo -U standarduser –l
Înregistrarea accesului Sudo
Puteți înregistra tot accesul sudo adăugând următoarea linie. / var / log / sudo este doar un exemplu; puteți utiliza orice locație de fișier jurnal doriți.
Implicit 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 posibilitatea de a șterge sau modifica conținutul acestui fișier. Un utilizator ar putea accesa, de asemenea, un prompt root cu sudo și poate rula comenzi care nu ar fi înregistrate. Funcția de înregistrare este cea mai utilă atunci când este asociată cu conturi de utilizator care au restricționat accesul la un subset de comenzi de sistem.