Pagina principala » HOWTO » 8 moduri de a optimiza și configura Sudo pe Ubuntu

    8 moduri de a optimiza și configura Sudo pe Ubuntu

    La fel ca majoritatea lucrurilor pe Linux, comanda sudo este foarte configurabilă. Aveți posibilitatea să executați comenzi specifice sudo fără a cere o parolă, să restricționați anumiți utilizatori numai la comenzile aprobate, comenzile de jurnalizare executate cu sudo și 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 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 Conturi utilizator de la Ubuntu. Pentru ao deschide, faceți clic pe numele dvs. de utilizator din panou și selectați Conturi utilizator sau căutați Conturi utilizator în liniuță.

    Faceți Sudo să vă uitați parola

    Implicit, sudo își amintește parola timp de 15 minute după ce o tastați. 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 dvs. ș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

    Cereți întotdeauna o parolă

    Dacă doriți mai degrabă 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 inclusă î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ă este implicită pentru editorul nano, ușor de utilizat, în loc de editorul tradițional vi pe Ubuntu.

    Adăugați următoarea linie sub celelalte linii prestabilite din fișier:

    Valorile 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ă.

    Schimbați timpul 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 a-ți aminti parola pentru 5 minute, adaugă următoarea linie:

    Valoarea implicită timestamp_timeout = 5

    Nu solicitați niciodată o parolă

    Puteți, de asemenea, să aveți niciodată nici o parolă pentru a solicita o parolă - atâta timp cât sunteți conectat, fiecare comandă pe care o prefixați cu sudo va rula cu permisiuni root. Pentru aceasta, adăugați următoarea linie în fișierul sudoers, unde numele de utilizator este numele dvs. de utilizator:

    nume utilizator ALL = (ALL) NOPASSWD: ALL

    De asemenea, puteți schimba linia% sudo - adică linia care permite tuturor utilizatorilor din grupul sudo (cunoscuți și sub numele de Administrator users) să utilizeze sudo - pentru ca toți utilizatorii Administrator să nu solicite parole:

    % sudo ALL = (TOATE: ALL) NOPASSWD: TOATE

    Executați comenzi specifice fără o parolă

    De asemenea, puteți specifica anumite comenzi care nu vor necesita niciodată o parolă atunci când sunt executate 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 să listați comenzi specifice și să împiedicați 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, va crea o copie a comenzii de închidere și va închide sistemul utilizând copia.

    O modalitate mai eficientă este să comutați comenzi specifice în lista albă. De exemplu, ați putea da un permis de utilizator standard pentru 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

    Logarea Sudo Acces

    Puteți loga toate accesurile sudo adăugând următoarea linie. / 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 posibilitatea de a șterge sau modifica conținutul acestui fișier. Un utilizator ar putea accesa, de asemenea, un prompt root cu sudo și comenzile de rulare care nu ar fi înregistrate. Funcția de înregistrare este cea mai utilă atunci când este cuplată cu conturile de utilizator care au restricționat accesul la un subset de comenzi de sistem.