În Linux, parolele sunt stocate în siguranță în fișiere de sistem și baze de date pentru a gestiona autentificarea utilizatorilor și controlul accesului. Înțelegerea locului în care Linux stochează parolele și a modului în care acestea sunt securizate este esențială pentru administratorii de sistem și profesioniștii din domeniul securității.

1. Fișierul /etc/passwd (informații despre utilizator)

Fișierul /etc/passwd conține o listă a tuturor utilizatorilor sistemului, împreună cu detaliile de bază ale contului.

Exemplu de intrare în /etc/passwd:

username:x:1001:1001:User Name:/home/username:/bin/bash

Explicarea câmpurilor:

  • username: Numele de logare al utilizatorului.
  • x: Placeholder care indică faptul că parola este stocată într-un fișier separat.
  • 1001:1001: ID utilizator (UID) și ID grup (GID).
  • User Name (Nume utilizator): Numele complet sau descrierea utilizatorului.
  • /home/username: Directorul home al utilizatorului.
  • /bin/bash: Shell-ul implicit atribuit utilizatorului.

2. Fișierul /etc/shadow (parole criptate)

Linux stochează hașurile parolelor reale în fișierul /etc/shadow, care este accesibil numai utilizatorului root.

Exemplu de intrare în /etc/shadow:

username:$6$abc123$XYZhashedpassword:18528:0:99999:7:::

Explicarea câmpurilor:

  • $6$: Indică algoritmul de criptare (SHA-512 în acest caz).
  • abc123: Sarea utilizată pentru hash-ul parolei.
  • XYZhashedpassword: Parola hașurată reală.
  • 18528: Data de la ultima modificare a parolei.
  • 0:99999:7: Informații privind vechimea parolei (valabilitatea minimă și maximă a parolei).

Verificarea algoritmului de hașurare a parolei:

Pentru a vedea algoritmul de hashing utilizat, executați:

cat /etc/shadow | grep username

3. Fișierul /etc/group (informații despre grup)

Fișierul /etc/group conține informații despre grupurile de utilizatori și apartenența la grupuri.

Exemplu de intrare în /etc/group:

developers:x:1002:username1,username2

4. Directorul /var/lib/AccountsService/ (Conturi utilizator GUI)

Unele distribuții Linux stochează preferințele conturilor de utilizator pentru logările GUI în:

/var/lib/AccountsService/users/

Aceste fișiere conțin metadate, cum ar fi numele de afișare și preferințele de sesiune, dar nu stochează parolele.

5. Comenzi de gestionare a parolelor

Schimbare parolă utilizator:

passwd username

Vizualizați informații despre îmbătrânirea parolei:

chage -l username

Forțați utilizatorii să schimbe parola la următoarea autentificare:

passwd --expire username

6. Cum securizează Linux parolele

  • Hashing și Salting: Parolele nu sunt niciodată stocate în text simplu. În schimb, acestea sunt hașurate și sărate pentru a preveni recuperarea directă.
  • Acces exclusiv la rădăcină: Fișiere precum /etc/shadow sunt restricționate doar la accesul root.
  • Pluggable Authentication Modules (PAM): Autentificarea Linux este gestionată de PAM, care aplică politici de securitate a parolelor.

Concluzii

Linux stochează în siguranță acreditările utilizatorilor în fișiere de sistem precum /etc/passwd și /etc/shadow, asigurând un acces criptat și restricționat. Înțelegerea acestor mecanisme de stocare este esențială pentru securitatea sistemului și gestionarea utilizatorilor.