Portál AbcLinuxu, 12. května 2025 10:40
Nic takového nejde protože to co je v /etc/shadow je hash hesla a ten může sedět na více hesel. Pokud chceš testovat hesla musíš to udělat ještě před převodem a nepovolit nesmyslná.
Nesouhlasím. Předpokládejme (velmi nepravděpodobnou situaci), že uživatel zvolí těžko uhodnutelné heslo, které má stejný hash jako nějaké triviální. Pak mu ale není nic platné, že je jeho heslo těžko uhodnutelné, protože útočník nepotřebuje znát jeho heslo - pro přihlášení mu stačí trefit to slabé. Takže i pro správce systému, který chce dodatečně otestovat, zda uživatelé nemají slabá hesla, stačí znát hashe.
Tohle zni skoro jako otazka nejakeho wannabe hackera, ktery se nahodou dostal k /etc/shadow a ted nevi co s tim :D.
Ale k veci. Docela dobre to je rozebrane v diskuzi jednoho ze starsich dotazu v poradne formát hesel v /etc/shadow. Hlavne jde o to volat funkci crypt() a nezapomenout na soleni.
encrypt=`cat /etc/shadow | grep -w $username | cut -d: -f2 | cut -d$ -f 2` salt=`cat /etc/shadow | grep -w $username | cut -d: -f2 | cut -d$ -f 3` contrl=`openssl passwd -$encrypt -salt $salt $password`Potom staci len porovnat heslo z
/etc/shadow
s obsahom $contrl
.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.