Nastavení určité formy ověřování hesla pro webové stránky může být klíčovou součástí sdílení obsahu s oprávněnými uživateli. V jiném článku probereme, jak přesně to provést pomocí několika šikovných pravidel .htaccess. Pokud si chcete přečíst více o tom, jak se to dělá, můžete se podívat na náš článek, který se zabývá tím, jak chránit soubory nebo adresáře heslem pomocí .htaccess. Možná vás však zajímá, jak se tato pověření ověřují a kam se ukládají? Odpovědí je soubor .htpasswd, na který se zaměříme v tomto článku.
Co je .htpasswd?
Soubor .htpasswd se obvykle používá při ochraně souboru, složky nebo celé webové stránky heslem pomocí ověřování HTTP a implementuje se pomocí pravidel v souboru .htaccess. Pověření uživatele jsou uložena na samostatných řádcích, přičemž každý řádek obsahuje uživatelské jméno a heslo oddělené dvojtečkou (:). Uživatelská jména jsou uložena v prostém textu, hesla jsou však uložena v šifrovaném hashovaném formátu. Toto šifrování je obvykle MD5, i když v Linuxu může být založeno na funkci crypt(). Ačkoli je možné soubor s heslem pojmenovat jakkoli, důrazně se to nedoporučuje, protože Apache je ve výchozím nastavení přednastaven na použití souboru .htpasswd a soubory s tečkou (soubory začínající na „.“) jsou obvykle skryté soubory.
Jak vytvořit soubor .htpasswd?
V závislosti na vaší platformě toho lze dosáhnout několika různými způsoby. Nejjednodušší metodou je přejít na některou z různých webových stránek pro vytvoření souboru .htpasswd a podle jejich jednoduchých pokynů vygenerovat potřebné položky pro soubor .htpasswd. Doporučil bych generátor nabízený stránkou htaccesstools.com, protože je velmi jednoduchý a výstižný, jděte se na něj podívat: Htpasswd Generator. Pokud jste na tom stejně jako já a chtěli byste se podívat, jak se to dělá bez použití generátoru, zůstaňte s námi!“
Nejprve si musíte připravit uživatelské jméno, pro tento příklad jsem zvolil uživatelské jméno bob123. Dále budete muset být přihlášeni k serveru přes SSH, pokud si nejste jisti, jak přistupovat k serveru přes SSH, přečtěte si následující článek: Připojení k serveru přes SSH. Nakonec byste provedli následující příkaz, upozorňujeme, že pokud jej provádíte jako jiný uživatel než root, musíte použít sudo.
htpasswd -c /home/usernamehere/.htpasswd bob123
Budete vyzváni k zadání a potvrzení hesla pro tohoto uživatele. Pokud chcete přidat další uživatele, můžete tak učinit pomocí následujícího příkazu:
htpasswd /home/usernamehere/.htpasswd newUser2
Pokud byste zkontrolovali obsah souboru .htpasswd, měli byste vidět něco podobného.
bob123:$apr1$FaPCZHMe$jYiw5.9UevKx25pBH4AsT/newUser2:$apr1$mrCHcVhc$oNdJeRcWKPk2z8dlzQI0x/
.