Stabilirea unei forme de autentificare a parolei pentru un site web poate fi o parte crucială a partajării conținutului cu utilizatorii autorizați. Într-un alt articol discutăm cum să facem exact acest lucru folosind câteva reguli .htaccess ingenioase. Dacă doriți să citiți mai multe despre cum se face acest lucru, puteți consulta articolul nostru, care acoperă modul de protejare cu parolă a fișierelor sau directoarelor cu .htaccess. Cu toate acestea, poate vă întrebați cum sunt validate aceste credențiale și unde sunt stocate? Răspunsul este cu fișierul .htpasswd, care va fi punctul central al acestui articol.
Ce este .htpasswd?
Un fișier .htpasswd este utilizat de obicei atunci când se protejează un fișier, un folder sau un întreg site web cu o parolă folosind autentificarea HTTP și implementat folosind reguli în cadrul unui fișier .htaccess. Datele de identificare ale utilizatorului sunt stocate pe linii separate, fiecare linie conținând un nume de utilizator și o parolă separate prin două puncte (:). Numele de utilizator sunt stocate în text simplu, însă parolele sunt stocate într-un format hașurat criptat. Această criptare este de obicei MD5, deși în Linux se poate baza pe funcția crypt(). Deși este posibil să numiți fișierul de parole cu orice nume doriți, acest lucru este puternic nerecomandat, deoarece Apache este preconfigurat să utilizeze în mod implicit fișierul .htpasswd, iar fișierele cu puncte (fișierele care încep cu „.”) sunt în general fișiere ascunse.
Cum se creează un fișier .htpasswd?
În funcție de platforma dumneavoastră, acest lucru poate fi realizat în câteva moduri diferite. Cea mai simplă metodă este să vă îndreptați către unul dintre diferitele site-uri de creare a fișierelor .htpasswd și să urmați instrucțiunile simple ale acestora pentru a genera intrările necesare pentru un fișier .htpasswd. Aș recomanda generatorul oferit de htaccesstools.com, deoarece este foarte simplu și la obiect, mergeți să îl verificați: Htpasswd Generator. Dacă sunteți ca mine și vreți să vedeți cum se face acest lucru fără a folosi un generator, rămâneți pe aici!
În primul rând va trebui să aveți în minte un nume de utilizator, pentru acest exemplu am ales numele de utilizator bob123. Apoi va trebui să fiți conectat la serverul dvs. prin SSH, dacă nu sunteți sigur cum să vă accesați serverul prin SSH, vă rugăm să consultați următorul articol: Conectarea la serverul dumneavoastră prin SSH. În cele din urmă veți executa următoarea comandă, vă rugăm să rețineți că, dacă executați acest lucru ca utilizator care nu este root, va trebui să folosiți sudo.
htpasswd -c /home/usernamehere/.htpasswd bob123
Vă fi solicitat să furnizați și să confirmați o parolă pentru acest utilizator. Dacă doriți să adăugați utilizatori suplimentari, puteți face acest lucru prin următoarele:
htpasswd /home/usernamehere/.htpasswd newUser2
Dacă ar fi să verificați conținutul fișierului .htpasswd ar trebui să vedeți ceva asemănător cu următoarele.
bob123:$apr1$FaPCZHMe$jYiw5.9UevKx25pBH4AsT/newUser2:$apr1$mrCHcVhc$oNdJeRcWKPk2z8dlzQI0x/