Un server Linux nu ar trebui administrat zilnic prin autentificare directă ca root. Practica mai sigură este să intri cu un utilizator obișnuit, să ai drepturi administrative prin sudo și să rulezi doar comenzile necesare cu privilegii ridicate. Așa rămâne mai clar cine a făcut o schimbare, se reduce riscul unei greșeli globale și poți retrage accesul unui administrator fără să atingi contul root.
Mai jos construim un cont de administrare pe Ubuntu Server 24.04 LTS, folosind un cont existent care are deja sudo. Rezultatul final: un utilizator nou, membru în grupul sudo, obligat să își schimbe parola la prima autentificare și verificat fără să folosim login direct ca root. Pentru context mai larg despre conturi, grupuri și separarea responsabilităților, merită citit și ghidul despre administrarea utilizatorilor Linux pe un server folosit de mai multe persoane.
Ce construim
Vom crea utilizatorul exemplu `admin-maria`, îl vom adăuga în grupul `sudo`, vom seta o parolă temporară și vom forța schimbarea ei la prima autentificare. Numele este doar exemplu: pe serverul tău folosește un nume clar, legat de persoana reală sau de rolul aprobat intern.
Nu vom edita manual fișierul `/etc/sudoers` și nu vom intra ca root prin SSH. Pe Ubuntu, grupul `sudo` oferă drepturi administrative prin regula standard din configurația sudoers. Dacă lucrezi pe o distribuție din familia RHEL, grupul folosit de obicei este `wheel`, deci verifică documentația distribuției înainte să copiezi procedura.
Mediul exact
Procedura este gândită pentru Ubuntu Server 24.04 LTS, administrat prin SSH de pe un cont existent cu drepturi sudo. Ai nevoie de acces la terminal, de pachetul `sudo` instalat și de un cont administrativ funcțional, diferit de root.
Timp estimat: 10-15 minute. Resurse necesare: practic nesemnificative, pentru că modificăm doar conturi locale, grupuri și starea parolei. Dacă serverul este folosit de mai multe persoane, fă schimbarea într-o fereastră de mentenanță scurtă și notează modificarea în auditul intern. Pentru o verificare periodică mai amplă, vezi și checklistul de audit lunar Linux pentru administratori.
Ce îți trebuie înainte să începi
Verifică întâi cine ești și dacă poți folosi sudo:
`whoami`
Trebuie să vezi numele utilizatorului curent, nu `root`.
Apoi rulează:
`sudo -v`
Dacă parola este acceptată și comanda nu afișează eroare, sesiunea ta are drepturi sudo. Dacă primești mesaj că utilizatorul nu este în sudoers, nu continua prin improvizații. Ai nevoie de acces prin consola furnizorului, printr-un cont administrativ existent sau prin procedura internă de recuperare a accesului.
Verifică și dacă grupul `sudo` există:
`getent group sudo`
Pe Ubuntu trebuie să primești o linie care începe cu `sudo:`. Dacă nu apare nimic, sistemul nu folosește structura așteptată aici și trebuie verificată configurația distribuției.
Pasul 1: creezi utilizatorul nou
Comanda următoare creează contul, directorul home și cere setarea parolei inițiale:
`sudo adduser admin-maria`
Vei vedea întrebări despre parolă și câmpuri precum nume complet sau telefon. Pentru câmpurile opționale poți apăsa Enter dacă politica internă nu cere completarea lor.
Ce trebuie să vezi la final: utilizatorul apare în sistem, iar directorul `/home/admin-maria` există.
Verificare:
`getent passwd admin-maria`
Rezultatul trebuie să conțină o linie pentru `admin-maria`, cu directorul home și shell-ul configurat. Nu publica această ieșire în tichete publice dacă include informații despre structura serverului.
Pasul 2: adaugi utilizatorul în grupul sudo
Acum îi dai drepturi administrative prin grup, nu prin folosirea directă a contului root:
`sudo usermod -aG sudo admin-maria`
Opțiunea `-aG` adaugă utilizatorul la grupul suplimentar fără să îi șteargă alte grupuri. Partea importantă este `-a`: fără ea, poți înlocui accidental lista de grupuri suplimentare.
Verifică apartenența la grup:
`id admin-maria`
Trebuie să vezi `sudo` în lista de grupuri. Dacă nu apare, verifică dacă ai scris corect numele utilizatorului și comanda.
Pasul 3: forțezi schimbarea parolei la prima autentificare
Parola setată la creare ar trebui tratată ca temporară. Forțează utilizatorul să o schimbe la prima autentificare:
`sudo chage -d 0 admin-maria`
Această comandă setează data ultimei schimbări a parolei astfel încât sistemul să ceară schimbarea la următorul login.
Verificare:
`sudo chage -l admin-maria`
În ieșire, urmărește câmpurile despre schimbarea parolei. Formatarea poate diferi în funcție de limbă și versiune, dar ideea este că utilizatorul trebuie să schimbe parola la următoarea autentificare.
Pasul 4: testezi fără să deschizi login root
Deschide o sesiune nouă SSH sau o consolă separată și autentifică-te ca utilizatorul nou:
`ssh admin-maria@adresa-serverului`
Înlocuiește `adresa-serverului` cu numele DNS sau IP-ul real al serverului. Dacă sistemul cere schimbarea parolei, setează o parolă nouă, unică și păstrată în managerul de parole aprobat.
După autentificare, verifică drepturile administrative cu o comandă de citire:
`sudo -l`
Aceasta listează ce are voie să ruleze utilizatorul prin sudo. Pe o configurare Ubuntu standard, utilizatorul din grupul `sudo` ar trebui să poată rula comenzi cu privilegii administrative după autentificare.
Testează apoi o comandă inofensivă:
`sudo whoami`
Rezultatul așteptat este `root`. Asta nu înseamnă că te-ai autentificat ca root, ci că ai rulat o singură comandă cu privilegii ridicate prin sudo.
Pasul 5: verifici configurația sudoers în siguranță
Nu edita `/etc/sudoers` cu un editor obișnuit. Dacă ai nevoie să verifici sau să modifici reguli sudo, folosește `visudo`, pentru că face verificări de sintaxă înainte să salveze schimbări care te-ar putea bloca.
Pentru o verificare non-invazivă:
`sudo visudo -c`
Rezultatul trebuie să indice că fișierele sudoers sunt analizate corect. Dacă apare o eroare, nu închide sesiunea administrativă curentă până nu repari configurația, altfel poți pierde accesul sudo.
De ce e mai bine decât login direct ca root
Un cont root folosit direct amestecă toate acțiunile administrative sub aceeași identitate. Când fiecare administrator are propriul cont și folosește sudo, ai trasabilitate mai bună în loguri, poți dezactiva accesul unei persoane anume și poți aplica reguli mai fine.
Această abordare nu înlocuiește politicile avansate de acces temporar. Pentru organizații în care administratorii nu ar trebui să aibă privilegii permanente, merită analizat modelul de Just-in-Time Access pentru eliminarea conturilor privilegiate permanente. Pentru un server simplu însă, cont individual plus sudo este un început sănătos.
Probleme frecvente
Eroare: `admin-maria is not in the sudoers file`. Cauză probabilă: utilizatorul nu a fost adăugat corect în grupul `sudo` sau sesiunea a fost deschisă înainte ca apartenența la grup să fie aplicată. Rezolvare: revino în sesiunea veche cu sudo funcțional, rulează `sudo usermod -aG sudo admin-maria`, apoi deschide o sesiune nouă pentru utilizatorul respectiv.
Eroare: `Permission denied` la SSH. Cauza poate fi parola greșită, autentificarea prin parolă dezactivată sau o regulă SSH separată. Nu activa login root ca scurtătură. Verifică politica SSH și, dacă folosești chei, adaugă cheia publică în `/home/admin-maria/.ssh/authorized_keys` cu permisiuni corecte.
Eroare: `sudo: a password is required`. Este normal dacă sudo cere parola utilizatorului. Nu dezactiva cererea de parolă doar pentru confort. Excepțiile de tip `NOPASSWD` trebuie aprobate și documentate, pentru că măresc riscul în cazul unui cont compromis.
Eroare după editarea sudoers. Dacă ai modificat reguli manual și `sudo visudo -c` raportează probleme, repară imediat din sesiunea încă activă. De aceea verificarea cu `visudo` este preferabilă editării directe.
Revenire și curățenie
Dacă utilizatorul a fost creat greșit și nu trebuie păstrat, blochează-l întâi:
`sudo passwd -l admin-maria`
Apoi, dacă politica internă permite ștergerea contului și ai salvat ce trebuie păstrat, îl poți elimina împreună cu directorul home:
`sudo deluser –remove-home admin-maria`
Atenție: ștergerea directorului home poate elimina fișiere utile sau dovezi necesare pentru audit. Pe servere de producție, arhivează ce trebuie păstrat înainte.
Dacă vrei doar să retragi drepturile administrative, fără să ștergi contul:
`sudo deluser admin-maria sudo`
După aceea verifici cu:
`id admin-maria`
Grupul `sudo` nu ar trebui să mai apară.
Mai departe
După ce ai conturi individuale de administrare, următorul pas este să verifici periodic cine are drepturi sudo, ce servicii rulează și ce schimbări au apărut pe server. Pentru servicii, pornire, oprire și diagnosticare, ghidul despre systemctl în Linux completează bine această procedură.
O direcție practică este să combini conturile individuale cu autentificare prin chei SSH, parole unice și audit lunar. O direcție mai avansată este accesul temporar aprobat, unde drepturile administrative nu stau permanent pe cont.
Întrebări frecvente
Pot face procedura fără niciun cont care are deja sudo?
Nu în mod normal. Ai nevoie de un cont administrativ existent, de consola furnizorului sau de procedura internă de recuperare a accesului.
De ce nu folosesc direct root prin SSH?
Pentru administrare zilnică, conturile individuale cu sudo oferă trasabilitate mai bună și permit retragerea accesului pentru o persoană fără să schimbi contul root.
Este suficient să adaug utilizatorul în grupul sudo?
Pe Ubuntu, aceasta este metoda standard dacă regula sudoers pentru grupul `sudo` există. Totuși trebuie verificat cu `id admin-maria`, `sudo -l` și `sudo whoami`.
Pot șterge imediat utilizatorul dacă am greșit?
Da, dar cu atenție. Poți bloca întâi contul cu `sudo passwd -l admin-maria`, iar ștergerea cu `sudo deluser –remove-home admin-maria` trebuie făcută doar după ce ai verificat dacă fișierele din home trebuie păstrate.

















































