Sok okból nagyon hasznos lehet, ha ellenőrzött hozzáférést biztosítunk a webszerver bizonyos könyvtáraihoz, vagy egyszerűen az oldalunk vagy blogunk tartalmához a felhasználónéven és jelszón alapuló hitelesítési szolgáltatáson keresztül. Olyasmiről beszélek, mint egy tipikus ablak, amely akkor jelenik meg, amikor korlátozott szolgáltatásokkal rendelkező webhelyre akarunk belépni.
Számos módja van a Windows hitelesítési űrlappal történő létrehozásának, de a kiszolgáló szintjén érdekes megoldást kínálunk htpasswd. Ez egy olyan segédprogram, amelynek feladata a jelszavak titkosított formában történő tárolása, amelyet az Apache használ a hitelesítési szolgáltatásokban. Használata lehetővé tenné számunkra, hogy bizonyos címtárakat vagy fájlokat a http-en keresztül csak az azonosított felhasználók számára jelenítsünk meg, és ne feltétlenül legyenek mindenki számára szabadon elérhetőek.
Megértem, hogy ez nem túl kirívó téma, de hasznos lehet egyesek számára. Annak érdekében, hogy ne unjam meg őket unalommal, képekkel fogom didaktikusabbá tenni.
Korábbi szempontok: használni fogom Ubuntu Server 12.04.1 y Apache 2.2.22 ellenőrzött környezetben.
Kezdjük.
Mint egyesek már tudják, alapértelmezés szerint az elérhető Apache-webhelyek a könyvtárban vannak tárolva / Var / www / és ehhez a példához létrehozok egy könyvtárat HTML sablonnal, és megpróbálom árnyékolni .htpasswd-vel.
A védendő könyvtár a / var / www / example / hová tettem a következő oldalt.
1. Létrehozzuk a .htpasswd fájlt.
A hely, ahol található, releváns jelentőségű, és nyilvános könyvtáron kívülre helyezése több lehet, mint az ajánlott. Esetemben a személyes mappámba fogom helyezni (ami nem nyilvános Apache könyvtár) és a .htpasswd névvel. (A priori nem szükséges így hívni, de a rejtett mindig jó).
A következő paranccsal létrehozom a .htpasswd fájlt egy webfelhasználó számára, amelyet "Luke" -nak neveztem el.
# htpasswd -c /home/krel/.htpasswd Luke
Kétszer kéri, hogy adjuk meg a jelszót, esetemben a "skywalker" -t tettem (idézőjelek nélkül). Ellenőrizetlen környezetben erősebb jelszavakat kell létrehoznunk. Az alapértelmezett titkosítás Linuxon az MD5, de Unix-on a crypt () szabványos megvalósítása, és 8 karakternél rövidebb jelszavak esetén sebezhető lehet. Most már kétlem, hogy ugyanez van-e a BSD-ben.
- -c → a fájl létrehozásához
- /home/krel/.htpasswd → a fájl abszolút elérési útja.
- Luke → a felhasználónév (bármi lehet, amit csak akarsz)
Hasonlóképpen nem kényszerítek senkit a terminál használatára, ha az interneten vannak szolgáltatások hozzá:
http://www.web2generators.com/apache/htpasswd_generator
http://www.htaccesstools.com/htpasswd-generator/
Az eredményt szöveges fájlba másoljuk, és ha szükséges, a .htpasswd névvel. Ezzel a módszerrel kapcsolatban ne hagyja abba az olvasást, amit a következő bekezdésben megjegyzek.
Esetünkben látni fogjuk, hogy a fájl ott lett létrehozva, ahol számítottunk rájuk /home/krel/.htpasswd. A képen kiemeltem, hogy ezzel a módszerrel a fájl az apache csoporthoz és a felhasználóhoz tartozik, amelyet Ubuntuban www-adatnak hívnak. Ez azért fontos, mert ha bármilyen más módon létrehoztuk a .htpasswd fájlt, akkor meg kell győződnünk arról, hogy 644 jogosultsággal rendelkezik.
Nos, most meglátjuk, milyen a belük:
Amint láthatja, van a felhasználó (Luke), de a jelszó titkosítva van.
Ily módon már létrehoztuk és megterveztük a .htpasswd fájlt a Luke felhasználó számára, végül ez nem más, mint a jelszó tárolója. A "minden egy paranccsal" jó jelszó lenne.
2. Állítsa be az Apache szolgáltatást a webhely használatára és engedélyezésére.
# nano /etc/apache2/sites-available/default
Ha több gazdagéped van, akkor mindegyiken dolgozniuk kell, nálam csak az van, amelyik alapértelmezés szerint jön. Ne felejtsük el, hogy mindig jó biztonsági másolatot készíteni a fájlról.
A fájl alapértelmezett szerkezete:
ServerAdmin webmester @ localhost
..................
..................
Pontosan a Virtualhost fejléceken belül határozza meg a .htpasswd használatát egy bizonyos könyvtár eléréséhez. Úgy csináljuk, ahogy az alábbi kép megjelenik és megfelel a példánknak:
A védelem érdekében fel kell tenned a könyvtárat.
AuthType Basic
Ez a böngészővel egyeztetett felhasználói típus és jelszó, ebben az esetben Basic, titkosítás nélkül.
Van egy másik típusú tárgyalás: Digest, ez titkosítja a felhasználónevet és a jelszót, azonban az utolsó szó a böngészőnek arról, hogy támogatja-e az említett szolgáltatást. A Digest elmondható, hogy ez egy kissé erőteljesebb megvalósítás a szippantók ellen. Meghívlak benneteket, hogy mélyüljetek el ebben.
AuthName "Kopogjon be az ajtón, mielőtt belépne."
Ez egy olyan üzenet, amely a felhasználó számára megjelenik a böngészőben a bejelentkezési űrlappal, és ez lehet az, amelyet szeretnénk.
AuthUserFile /var/www/.pass/.htpasswd
Keresse meg a .htpasswd fájlt. Éppen ezért azt mondom, hogy nem is szükséges megnevezni .htpasswd, az útvonal egyszerű elhelyezése ugyanúgy működne.
Érvényes felhasználóra van szükség
Ezt a sort több felhasználó számára tervezték, egyedi jelszavakkal. Abban az esetben, ha egyetlen felhasználóról van szó, a következő változatként lehet összefoglalni.
El_que_sea felhasználó megkövetelése
Példámban a következő lehet: Luke felhasználó megkövetelése
És végül mindent bezárunk
Újraindítjuk az apache-t:
# service apache2 restart
Próbáljuk meg.
Ha nem hitelesítjük helyesen, akkor 401-es hibát kapunk.
Az ellenkező oldalon, ha helyesen írjuk be a felhasználónevet és a jelszót, ez nagyobb kényelmetlenség nélkül engedne át minket.
További tippek.
- Ha további felhasználókat szeretne hozzáadni egy már létrehozott htpasswd fájlhoz, használhatja ezt a parancsot
htpasswd -mb /home/krel/.htpasswd felhasználói jelszó
Ha a "Felhasználó megkövetelése" beállítást választotta, és nem az "Érvényes felhasználó megkövetelése" beállítást, akkor hozzá kell adnia az új felhasználót, amelyet az előző követ, szóközzel elválasztva. Példa:
Luke Anakin felhasználó megkövetelése
- Felhasználói csoportok használata
Ha az egyéni felhasználók helyett inkább a következő weboldalon dolgozunk, vagy csoportokkal kell dolgoznunk, akkor ezeket nagyon részletesen elmagyarázzák, és ez egy kiváló cikk.
http://www.juanfelipe.net/node/23
- Beállíthatunk egy másik típusú titkosítást is, például: SHA
htpasswd -sb /home/krel/.htpasswd felhasználói jelszó
Itt egy kép arról, hogyan tükröződik az SHA jelszó regisztrációja a .htpasswd fájlban. Mindkettőben "skywalker" volt.
Tudj meg többet.
htpasswd - -segítség
Ha mélyebbre akarsz menni ebben a témában, az RTFM mindig jó!
http://httpd.apache.org/docs/2.0/es/howto/auth.html
http://httpd.apache.org/docs/2.2/misc/password_encryptions.html
Ezt a PHP szkriptet is kíváncsinak találtam a Granadai Egyetem oldaláról egy htaccess és htpasswd generátor létrehozására. Nem tudtam a gyakorlatba átültetni, de arra kérlek benneteket, hogy "intelligenciával bánjatok".
A HTML sablon, amelyet erről az oldalról kaptam, hátha valakit érdekel.
http://www.templatemo.com/
Remélem tetszett ez a htpasswd bemutató.
Most újra beolvasva rájöttem, hogy egy kis rendetlenséget csináltam. Amikor elmagyarázom a helykonfiguráció sorait, az AuthUserFile fájlba a /var/www/.pass/.htpasswd fájlt tettem, amikor annak kellett volna lennie:
/home/krel/.htpasswd.
A képen rendben van, de ott megúszott engem, az az, hogy korábban a cikket ezzel az útvonallal készítettem, de az utolsó pillanatban megváltoztattam, és úgy tűnik, hogy hiányzott a javítás.
Előre elnézést kérek.
Van alternatíva a nautilushoz?
Amit kérdezel, az szerintem a másik irányba megy, de mindenképp válaszolok neked.
Úgy gondolom, hogy a Cryptkeeperrel hasznos lenne megvédeni a könyvtárakat és hasonló dolgokat.
Ha őszinte vagyok, ha valamit utálok a gnómban, az a nautilus. A Dolphin (KDE) sokkal hatékonyabb a védelem, a gpg-vel történő titkosítás stb.
Krel, köszönöm a komplett oktatóanyagokat, amelyeket idehoztál, és főleg, hogy nem annyira általános témák ...
Egészségére !!! ...
Helló, minden rendben ment, de .. amikor bezárom a króm lapot és megnyitok egy másikat, megírom a címet, és nem kéri a jelszót ...
aki azt mondta, hogy nem mutatós.
Éppen ezt kerestem, és jobban megmagyarázhatatlan lehetetlen
Köszönöm szépen.
Az üdvözlés
Helló, nagyon köszönöm az információkat, különös tekintettel arra, hogy a .htpasswd fájlba több felhasználót is felvettek.
Isten áldjon!
Gratulálok, nagyon jó, világos és emészthető cikk. Nagyon szépen köszönöm
500 hibát ad, amikor megadom a felhasználónevet és a jelszót
AuthType Basic
AuthName "Tocc tocc"
AuthUserFile /var/www/html/.pass/.htpasswd
Akira felhasználó megkövetelése
Milyen nagyszerű ez velem, ha megjegyzést fűzök anélkül, hogy megnézném a többi megjegyzést.
Remekül működik, nagyszerű bejegyzés
Szia, jó bemutató, de van alternatíva a "htpasswd" -re? Megkérdezem, miért használom a linux mint 17.3-at, és nincs parancsom ... telepítenem kell?
Ok, rájöttem ... A sudo apt-get install apache2-utils programmal kellett telepítenem
Helló, kiváló oktatóanyag, pontosan úgy tettem, ahogy itt jeleztem, csak annyi, hogy a 2. pontban jelzettek végrehajtása helyett:
nano / etc / apache2 / sites-available / default
Nekem bevált
nano /etc/apache2/sites-enabled/000-default.conf
Üdvözlet, nekem nem működik 🙁 a mappám nem jelenik meg a szerveremen, vagyis védem a / var / 222 / html / content mappámat, és amikor a böngészőből belépek, a tartalom mappa nem jelenik meg. Segítség