Од многу причини, може да биде многу корисно да имате контролиран пристап до одредени директориуми на веб-сервер или едноставно до содржината на нашата страница или блог со помош на услуга за автентикација заснована на корисничко име и лозинка. Зборувам за нешто како типичен прозорец што се појавува кога сакаме да влеземе во веб-страница со ограничени услуги.
Постојат неколку начини да се генерираат прозорци со форма за проверка, но е обезбедено интересно решение на ниво на сервер htpasswd. Тоа е алатка чија функција е складирање на лозинки во шифрирана форма што ќе ги користи Apache во услугите за проверка. Неговата употреба ќе ни овозможи да покажеме одредени директориуми или датотеки преку http само на идентификувани корисници и без нужно да бидат слободно достапни за секого.
Јас разбирам дека не е многу светкава тема, но може да биде корисна за некои. За да не ги убијам со досада, ќе користам слики за да го направам тоа подидактично.
Претходни размислувања: Јас ќе користам Ubuntu Server 12.04.1 y Апачи 2.2.22 во контролирана средина.
Почнуваме.
Како што некои веќе знаат, по дифолт, достапните страници на Apache се зачувани во директориумот / var / www / и за овој пример ќе креирам директориум со HTML-образец и ќе се обидам да го заштитам со .htpasswd.
Директориумот за заштита е / var / www / пример / каде што ја сместив следната страница.
1. toе создадеме .htpasswd.
Местото каде што ќе се наоѓа е од значајно значење и ставањето надвор од јавен директориум може да биде повеќе од препорачаното. Во мојот случај, ќе го ставам во мојата лична папка (што не е јавен директориум на Apache) и со името .htpasswd (А приори не е потребно да се нарекува така, но оној што е скриен е секогаш добар).
Со следнава команда ја креирам датотеката .htpasswd за веб-корисник што го именував како: „Лука“.
# htpasswd -c /home/krel/.htpasswd Luke
Usе побара од нас да ја снабдиме лозинката двапати, во мојот случај ставив „skywalker“ (без наводници). Во неконтролирано опкружување мора да воспоставиме посилни лозинки. Стандардната енкрипција на Linux е MD5, но на Unix е стандардна имплементација на криптата () и за лозинки со помалку од 8 карактери може да биде ранлива. Сега се сомневам дали е исто и во БСД.
- -c → за да ја креирате датотеката
- /home/krel/.htpasswd → апсолутна патека на датотеката.
- Лука → корисничкото име (може да биде што сакате)
Слично на тоа, јас не принудувам никого да го користи терминалот кога има услуги на Интернет за тоа:
http://www.web2generators.com/apache/htpasswd_generator
http://www.htaccesstools.com/htpasswd-generator/
Ние го копираме резултатот во текстуална датотека и со името .htpasswd ако сакате. Во врска со овој метод, не престанувајте да читате што коментирам во следниот пасус.
Во нашиот случај, ќе видиме дека датотеката е генерирана таму каде што ги очекувавме /home/krel/.htpasswd. На сликата истакнав дека со овој метод датотеката припаѓа на групата и корисник на апачи, кои во Убунту се нарекуваат www-data. Ова е важно затоа што ако го генериравме .htpasswd на кој било друг начин, мора да се осигураме дека има 644 дозволи.
На овој начин веќе го креиравме и дизајниравме .htpasswd за корисникот Лук, на крајот тоа не е ништо повеќе од контејнер за лозинката. „Сите со една команда“ ќе биде добра фраза.
2. Конфигурирајте го Apache да ја користи и дозволувајте ја таа услуга на страницата.
# nano /etc/apache2/sites-available/default
Ако имате неколку домаќини, тие мора да работат на секој од нив, во мојот случај го имам само оној што доаѓа стандардно. Не заборавајте дека секогаш е добро да направите резервна копија од таа датотека.
Таа датотека има стандардна структура:
ServerAdmin веб-администратор @ localhost
..................
..................
Токму во рамките на насловите на Виртуелна куќа ќе биде одредена употреба на .htpasswd за пристап до одреден директориум. Ние го правиме тоа како што се појавува сликата подолу и соодветна на нашиот пример:
Мора да го ставите директориумот за да се заштити.
AuthType Basic
Тоа е тип на корисник и лозинка за преговарач со прелистувачот, во овој случај тоа е основно, без криптирање.
Постои и друг вид преговори: Digest, ова ги криптира корисничкото име и лозинката, сепак последниот збор е прелистувачот за тоа дали ја поддржува наведената услуга. Digest може да се каже дека тоа е малку поробутна имплементација против кодошите. Ве поканувам да истражувате во ова.
AuthName „Чукнете на вратата пред да влезете“.
Тоа е порака што ќе му се појави на корисникот во прелистувачот со образецот за најавување и може да биде онаа што ја сакаме.
AuthUserFile /var/www/.pass/.htpasswd
Патувајте ја датотеката .htpasswd. Од таа причина е што велам дека не е потребно ниту да се именува .htpasswd, едноставно ставање на патеката би функционирало исто.
Барам валиден корисник
Таа линија е наменета за повеќе корисници со индивидуализирани лозинки. Во случај да е единствен корисник, може да се сумира како следна варијанта.
Потребен е корисник el_que_sea
Во мојот пример може да биде: Потребен е корисникот Лука
И, конечно, приложуваме сè со
Рестартираме апаши:
# service apache2 restart
Да пробаме.
Ако не провериме правилно, ќе добиеме Грешка 401.
Дополнителни совети.
- За да додадете повеќе корисници на веќе креираната датотека htpasswd, можете да ја користите оваа команда
htpasswd -mb /home/krel/.htpasswd Корисничка лозинка
Ако сте поставиле „Потребен корисник“, а не „Потребен валиден корисник“, мора да го додадете новиот корисник проследен со претходниот и одделен со празно место. Пример:
Потребен е корисникот Лук Анакин
- Користете кориснички групи
Ако наместо индивидуални корисници, претпочитаме или треба да работиме со групи на следната веб-страница, тие тоа го објаснуваат детално и тоа е одличен напис.
http://www.juanfelipe.net/node/23
- Може да поставиме и друг вид на криптирање, на пример: SHA
htpasswd -sb /home/krel/.htpasswd Корисничка лозинка
Еве слика за тоа како регистрација на лозинка SHA би се рефлектирала во .htpasswd. И кај едното и кај другото беше „небесен возач“.
Дознај повеќе.
htpasswd - -помош
Ако сакате да навлезете подлабоко во оваа тема, RTFM е секогаш добар!
http://httpd.apache.org/docs/2.0/es/howto/auth.html
http://httpd.apache.org/docs/2.2/misc/password_encryptions.html
Исто така, ја најдов оваа PHP скрипта curубопитна од страницата на Универзитетот во Гранада да создадам генератор на htaccess и htpasswd. Не успеав да го применам во пракса, но ве поканувам да „pryубите со интелигенција“.
Шаблонот HTML го добив од оваа страница во случај некој да биде заинтересиран.
http://www.templatemo.com/
Се надевам дека ви се допадна оваа презентација на htpasswd.
14 коментари, оставете ги вашите
Сега повторно читајќи ја објавата, сфатив дека направив мал хаос. Кога ќе ги објаснам линиите во конфигурацијата на страницата, во AuthUserFile ставам /var/www/.pass/.htpasswd кога треба:
/дома/крел/.htpasswd.
На сликата е добро, но таму ми избега, тоа е што претходно ја направив статијата со таа рута, но во последен момент ја сменив и се чини дека пропуштив да ја коригирам.
Се извинувам однапред.
Некоја алтернатива за наутилус ??
Она што го прашувате мислам дека оди на друг начин, но во секој случај ви одговарам.
Верувам дека со Cryptkeeper би било корисно да се заштитат директориумите и слични работи.
Ако сум искрен ако нешто што мразам во врска со gnome е nautilus. Делфинот (KDE) е многу помоќен токму за овие работи на заштита, криптирање со gpg, итн ...
Крел, благодарам за целосните упатства што ги донесовте овде и особено што не беа толку вообичаени теми ...
На здравје !!! ...
Здраво, сè мина добро, но .. кога ќе го затворам јазичето хром и отворам друг, ја пишувам адресата и не ми ја бара лозинката ...
кој рече дека не е светкаво.
Тоа беше само она што го барав, и подобро објасни невозможно
Благодарам многу.
поздрав
Здраво, многу ви благодарам за информациите, особено за делот за додавање на повеќе корисници во .htpasswd.
Бог да ве благослови!
Честитки, тоа е многу добра статија, јасна и сварлива. Ви благодарам многу
Ми дава грешка од 500 кога внесувам корисничко име и лозинка
AuthType Basic
AuthName "Tocc tocc"
AuthUserFile /var/www/html/.pass/.htpasswd
Потребен е корисник Акира
Колку е убаво тоа што ми се случува за коментар без да ги погледнам другите коментари за перодна.
Работи одлично одлично објавување
Здраво, добро упатство, но дали постои алтернатива на „htpasswd“? Прашувам зошто користам linux mint 17.3 и немам команда… дали мора да ја инсталирам?
Добро, сфатив ... морав да го инсталирам со sudo apt-get install apache2-utils
Здраво, одлично упатство, го сторив тоа точно како што е наведено овде, единственото нешто е што наместо да го извршувам она што е наведено во точка 2:
nano / etc / apache2 / sites-available / default
Работеше за мене со
нано /etc/apache2/sites-enabled/000-default.conf
Поздрав, не ми одговара 🙁 папката не се појавува на мојот сервер, односно ја заштитив папката / var / 222 / html / содржина и кога ќе влезам од прелистувачот, папката со содржина не се појавува. Помош