Cum să adăugați un utilizator la fișierul sudoers în Linux

Publicat: 2022-11-02
Laptop Linux afișează un prompt bash
fatmawati achmad zaenuri/Shutterstock.com
Dacă vi se spune unui utilizator „nu se află în fișierul sudoers”, puteți acorda utilizatorului privilegii sudo complete cu comanda usermod. Pentru a controla ce poate face un utilizator cu sudo, editați fișierul sudoers cu visudo.

Persoanele care pot folosi comanda Linux sudo sunt membri ai unui club mic și select, numit uneori lista „sudoers”. Fiecare membru are aceleași puteri ca root . Deci cum intri in acel club? Vom parcurge adăugarea unei persoane la sudoers, precum și editarea fișierului sudoers pentru a limita permisiunile.

Cuprins

sudo: Alter-ego-ul tău superputernic
Sudoers File și visudo
Adăugați un nou utilizator sudo în Ubuntu și alte distribuții Linux
Limitați privilegiile sudo prin editarea fișierului sudoers
Oricine deține această poruncă

sudo: Alter-ego-ul tău superputernic

În instalările Linux, utilizatorul root este cel mai privilegiat utilizator. Ei pot efectua orice sarcină administrativă, pot accesa orice fișier, indiferent dacă îl deține efectiv și pot crea, manipula și chiar elimina alți utilizatori.

Acest nivel de putere este periculos. Dacă root face o greșeală, rezultatele pot fi catastrofale. Au capacitatea de a monta și demonta sisteme de fișiere și de a le suprascrie în întregime. O modalitate mult mai sigură de a lucra este să nu te autentifici niciodată ca root .

8 moduri de a modifica și configura Sudo pe Ubuntu
LEGATE 8 moduri de a modifica și de a configura Sudo pe Ubuntu

Utilizatorii nominalizați pot folosi sudo pentru a obține temporar puteri administrative, pentru a efectua acțiunile necesare și apoi pentru a reveni la starea lor normală, neprivilegiată. Acest lucru este mai sigur pentru că invoci în mod conștient puterile tale superioare atunci când ai nevoie de ele și în timp ce ești concentrat să faci tot ce le necesită.

Comanda sudo este echivalentul Linux cu a striga „Shazam”. Când lucrurile înfricoșătoare se termină, abandonezi alter-ego-ul tău superputernic și te întorci la sinele tău normal.

Conectarea ca root este dezactivată implicit pe majoritatea distribuțiilor moderne, dar poate fi restabilită. Utilizarea contului root pentru munca de zi cu zi este nerecomandabilă. Greșelile care ar afecta în mod obișnuit un singur utilizator sau care ar fi blocate cu totul din cauza privilegiilor insuficiente, pot rula nestingherite dacă root le emite.

Distribuțiile Linux moderne acordă privilegii sudo contului de utilizator care este creat în timpul etapelor de instalare sau de configurare post-instalare. Dacă altcineva încearcă să folosească sudo , va vedea un mesaj de avertizare ca acesta:

 Mary nu este în dosarul sudoers. Acest incident va fi raportat.

Asta pare destul de clar. Utilizatorul nostru mary nu poate folosi sudo deoarece nu se află „în fișierul sudoers”. Deci, să vedem cum o putem adăuga.

LEGATE: Cum să controlezi accesul sudo pe Linux

Sudoers File și visudo

Înainte ca cineva să poată folosi comanda sudo , trebuie să lucrăm cu fișierul sudoers . Aceasta listează grupurile de utilizatori care pot folosi sudo . Dacă trebuie să facem modificări la dosar, trebuie să-l edităm.

Fișierul sudoers trebuie deschis folosind comanda visudo . Acest lucru blochează fișierul sudoers și împiedică două persoane să încerce să facă modificări în același timp. De asemenea, efectuează câteva verificări de sănătate înainte de a salva editările, asigurându-se că sunt analizate corect și sunt corecte din punct de vedere sintactic.

Rețineți că visudo nu este un editor, ci lansează unul dintre editorii dvs. disponibile. Pe Ubuntu 22.04, Fedora 37 și Manjaro 21, visudo a lansat nano. S-ar putea să nu fie cazul pe computerul dvs.

Dacă vrem să oferim cuiva acces la privilegii sudo complete, trebuie doar să facem referire la unele informații din fișierul sudoers . Dacă vrem să fim mai detaliați și să oferim utilizatorului nostru unele dintre capabilitățile root , trebuie să edităm fișierul și să salvăm modificările.

Oricum, trebuie să folosim visudo .

LEGATE: Cum să ieși din editorul Vi sau Vim

Adăugați un nou utilizator sudo în Ubuntu și alte distribuții Linux

Avem doi utilizatori care au nevoie de acces la privilegii root pentru a-și îndeplini funcțiile. Ei sunt Tom și Mary. Mary trebuie să aibă acces la tot ce poate face root . Tom trebuie doar să instaleze aplicații.

Să o adăugăm mai întâi pe Mary la grupul sudoers. Trebuie să începem visudo .

 sudo visudo 

Lansarea visudo pe Ubuntu Linux

Derulați în jos în editor până când vedeți secțiunea „Specificații privilegii utilizator”. Căutați un comentariu care spune ceva similar cu „Permiteți membrilor acestui grup să execute orice comandă”.

Fișierul sudoers se deschide în editorul nano

Ni sa spus că membrii grupului sudo pot executa orice comandă. Tot ce trebuie să știm în cazul lui Mary este numele acelui grup. Nu este întotdeauna sudo ; ar putea fi wheel sau altceva. Acum că știm numele grupului, putem închide editorul și o putem adăuga pe Mary la acel grup.

Cum se schimbă datele utilizatorului cu chfn și usermod pe Linux
LEGATE Cum să schimbați datele utilizatorului cu chfn și usermod pe Linux

Folosim comanda usermod cu opțiunile -a (adăugați) și -G (numele grupului). Opțiunea -G ne permite să denumim grupul la care dorim să adăugăm utilizatorul, iar opțiunea -a îi spune usermod să adauge noul grup la lista grupurilor existente în care se află deja acest utilizator.

Dacă nu utilizați opțiunea -a , singurul grup în care va fi utilizatorul dvs. este grupul nou adăugat. Verificați de două ori și asigurați-vă că ați inclus opțiunea -a .

 sudo usermod -aG sudo mary 

Folosind usermod pentru a adăuga utilizatorul mary la grupul sudo

Data viitoare când Mary se va conecta, va avea acces la sudo . Ne-am conectat la ea și încercăm să edităm fișierul tabel al sistemului de fișiere, „/etc/fstab”. Acesta este un fișier care este în afara limitelor tuturor, în afară de root .

 sudo nano /etc/fstab 

Folosind usermod pentru a adăuga utilizatorul mary la grupul sudo

Editorul nano se deschide cu fișierul „/etc/fstab” încărcat.

user Mary editând fișierul /etc/fstab folosind sudo

Fără privilegii sudo , ați putea să-l deschideți doar ca fișier numai pentru citire. Mary nu mai are aceste restricții. Ea poate salva orice modificări pe care le face.

Închideți editorul și nu salvați modificările pe care le-ați făcut.

Limitați privilegiile sudo prin editarea fișierului sudoers

Celălalt utilizator al nostru, Tom, i se va acorda permisiunea de a instala software, dar nu va primi toate privilegiile care i-au fost acordate lui Mary.

Trebuie să edităm fișierul sudoers .

 sudo visudo 

Lansarea visudo pe Ubuntu Linux

Derulați în jos în editor până când vedeți secțiunea „Specificații privilegii utilizator”. Căutați un comentariu care spune ceva similar cu „Permiteți membrilor acestui grup să execute orice comandă”. Este același punct din fișier în care am găsit numele grupului la care trebuia să o adăugăm pe Mary.

Adăugați aceste rânduri sub acea secțiune.

 # utilizator tom poate instala software
tom ALL=(rădăcină) /usr/bin/apt 

Adăugarea de noi intrări în fișierul sudoers

Prima linie este un simplu comentariu. Rețineți că există o filă între numele de utilizator „tom” și cuvântul „Toate”.

Aceasta este ceea ce înseamnă elementele de pe linie.

  • tom : numele grupului implicit al utilizatorului . De obicei, acesta este același cu numele contului lor de utilizator.
  • ALL= : Această regulă se aplică tuturor gazdelor din această rețea.
  • (rădăcină) : Membrii grupului „tom” – adică utilizatorul Tom – își pot asuma privilegii de root pentru comenzile enumerate.
  • /usr/bin/apt : Aceasta este singura comandă pe care Tom o poate rula ca root .

Am specificat managerul de pachete apt aici, deoarece acest computer folosește Ubuntu Linux. Ar trebui să înlocuiți aceasta cu comanda corespunzătoare dacă utilizați o distribuție diferită.

Să-l conectăm pe Tom și să vedem dacă obținem comportamentul așteptat. Vom încerca să edităm fișierul „/etc/fstab”.

 sudo nano /etc/fstab 

Încercarea de a edita fișierul /etc/fstab fără privilegii sudo

Acea comandă este respinsă și ni se spune că „utilizatorul tom nu are voie să execute „/usr/bin/nano /etc/fstab” ca rădăcină...”

Asta ne-am dorit. Utilizatorul Tom ar trebui să poată utiliza doar managerul de pachete apt . Să ne asigurăm că pot face asta.

 sudo apt install neofetch 

Utilizatorul Tom utilizând comanda apt cu sudo

Comanda a fost executată cu succes pentru Tom.

Oricine deține această poruncă

Dacă toți utilizatorii tăi pot folosi sudo , vei avea haos pe mâini. Dar merită să promovați alți utilizatori, astfel încât aceștia să vă poată împărtăși sarcina administrativă. Doar asigurați-vă că sunt demni și fiți cu ochii pe ei.

Chiar dacă sunteți singurul utilizator de pe computer, merită să vă gândiți să creați un alt cont de utilizator și să îi oferiți acces complet la sudo . În acest fel, dacă ești vreodată blocat din contul tău principal, ai un alt cont cu care te poți autentifica pentru a încerca să remediezi situația.

LEGATE: Cum să revizuiți utilizarea comenzilor sudo pe Linux