Conturile utilizatorilor pot fi modificate în mai multe moduri: direct, prin editarea fișierelor critice ca /etc/passwd (nu este recomandat), prin modificarea fișierelor de configurare specifice din directorul /home, sau folosind utilitare de sistem (metoda preferată). De regulă, conturile de utilizator sunt modificate fie pentru a adăuga o nouă parolă, fie pentru implementarea unei noi politici sau schimbări de sistem, cum ar fi mutarea directorului /home pe un nou hard disc. Prezentul articol este despre comanda passwd
.
Stabilirea unei parole
Deși comanda useradd
(prezentată în articolul precedent) ne oferă posibilitatea de stabilirea a unei parole cu ajutorul parametrului -p
, această modalitate nu este de mare folos deoarece, așa cum am spus, implică o parolă pre-hashed. Astfel, este mai ușor să facem un nou utilizator în forma dezactivată (fără folosirea -p la comanda useradd) și să setăm ulterior o parolă după ce contul a fost creat. Acest lucru se poate face cu comanda passwd
, care are următoarea sintaxă:
passwd [-k] [-l] [-u [-f]] [-d] [-S] [username]
Să considerăm folosirea aceste comenzi pe noul cont Alex făcut în articolul precedent:
#
passwd alex
Changing password for user alex
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully
#
Comanda passwd solicită introducerea parolei de 2 ori, dar, după cum deja știm, nu va apărea nimic în terminal în momentul în care tastăm.
Actualizarea conturilor expirate
Parametrul -k
indică sistemului că actualizarea parolei se va face pentru un cont expirat.
Blocarea conturilor
Parametrul -l
blochează un cont de utilizator prin prefixarea parolei hashed din fișierul /etc/shadow cu un semn de exclamare (!
). Ca rezultat, utilizatorul respectiv nu se va mai putea loga, dar fișierele sale vor fi disponibile. Deblocarea este ușor de făcut cu parametrul -u
(descris mai jos). Parametrul de blocare a unui cont este util în cazul în care suspectăm activitate suspicioasă a unui utilizator și vrem să-i interzicem temporar accesul la cont.
Pentru a vedea dacă un utilizator are contul blocat scriem comanda de mai jos:
# grep nume_utilizator /etc/shadow
Ieșirea va fi de forma (remarcați cele 2 semne de exclamare din fața parolei hashed):
nume_utilizator:!!$6$msqwgJMWkNaq1q9J$eMs6uIX7StvyF5ghJ3OpleKfCH6G4/K1ckPrEs2LZWkU3RgxzD6DnVdf/eVn8Cet0bHApS55Q9Qo2wgXWI8m1.:17322:0:99999:7:::
Deblocarea conturilor
Parametrul -u
deblochează un cont prin înlăturarea semnului de exclamare !
din dreptul parolei sale.
ATENȚIE! Conturile nou făcute cu comanda useradd
sunt blocate (dezactivate) și nu au nicio parolă dacă nu a fost specificat parametrul -p
. Astfel, utilizând comanda passwd -u
pe un cont proaspăt, dezactivat și fără parolă, are ca rezultat nu numai deblocarea contului respectiv, ci și posibilitatea ca acel cont să poată fi folosit fără parolă! În mod normal, comanda passwd
nu permite acest lucru, dar folosirea opțiuni -f
forțează transformarea contului respectiv într-un cont fără parolă.
Ștergerea parolei unui utilizator
Parametrul -d
șterge parola unui utilizator, transformându-l într-un user fără parolă. Nu sunt afișate mesaje de avertizare.
Afișarea informațiilor despre un cont
Opțiunea -S
afișează informții despre parola unui cont. Informațiile afișate sunt împărțite în 7 câmpuri:
passwd -S bobses
bobses P 06/05/2017 0 99999 7 -1
Primul câmp afișează numele de utilizator. Al doilea câmp indică dacă utilizatorul respecti are contul blocat (L - locked), dacă nu are parolă (NP - no password) sau dacă are parolă (P - password). Al treilea câmp ne arată data când a fost schimbată parola ultima oară. Următoarele câmpuri ne furnizează informații despre durata minimă a parolei (0 - dezactivat), durata maximă, perioada de avertizare în cazul în care parola expiră și perioada de inactivitate a parolei (-1 înseamnă că opțiunea respectivă este dezactivată). Aceste ultime 4 valori sunt exprimate în zile.
Utilizatorii obișnuiți pot folosi comanda passwd
pentru a-și schimba propria parolă, dar o parte din opțiuni pot fi utilizate doar de administratorii sistemului respectiv (-l, -u, -f, -d). La fel, doar utilizatorul root poate specifica un username la comanda passwd
.
Când un utlizator obișnuit rulează această comandă, poate omite folosirea propriului nume de utilizator. Comanda passwd îi va permite utilizatorului care a rulat-o să-și schimbe parola, dar îi va solicita, ca măsură de securitate, să scrie parola veche înainte de a o schimba cu cea nouă. Această măsură de precauție NU este luată dacă passwd
este rulată de root - se presupune, de exemplu, că utilizatorul pentru care se face schimbarea parolei a uitat-o. Administratorul poate rula simplu comanda passwd nume_utilizator
și apoi să introducă noua parolă a utilizatorului.
Parolele din Linux pot fi compuse din litere, numere și semne de punctuație. Linux face deosebire între litere mari și litere mici (case sensitive), așa că nu e totuna dacă parola este trei235* sau Trei235*. Este indicată folosirea unui mix de litere mari, litere mici, numere și caractere speciale.
Red a zis
a fost de ajutor, mersi
Bobses a zis
Cu placere.