बर्याच कारणांमुळे, वेब सर्व्हरवरील विशिष्ट निर्देशांवर किंवा वापरकर्तानाव आणि संकेतशब्दावर आधारित प्रमाणीकरण सेवेद्वारे आमच्या पृष्ठावरील किंवा ब्लॉगवरील सामग्रीवर नियंत्रण ठेवणे खूप उपयुक्त ठरेल. जेव्हा आम्ही प्रतिबंधित सेवा असलेल्या वेबसाइटमध्ये प्रवेश करू इच्छित असतो तेव्हा दिसून येते अशा विशिष्ट विंडोसारख्या गोष्टीबद्दल मी बोलत आहे.
प्रमाणीकरण फॉर्मसह विंडोज व्युत्पन्न करण्याचे बरेच मार्ग आहेत परंतु सर्व्हर स्तरावर एक मनोरंजक उपाय प्रदान केला आहे htpasswd. ही एक उपयुक्तता आहे ज्याचे कार्य अॅपेटीद्वारे प्रमाणीकरण सेवांमध्ये वापरण्यासाठी एन्क्रिप्टेड स्वरूपात संकेतशब्द संग्रहित करणे आहे. त्याचा वापर आम्हाला ठराविक निर्देशिका किंवा फाईल HTTP द्वारे केवळ ओळखल्या जाणार्या वापरकर्त्यांना दर्शविण्यास आणि प्रत्येकासाठी मुक्तपणे उपलब्ध नसण्याची परवानगी देतो.
मला समजले आहे की हा फारसा चपखल विषय नाही परंतु तो काहींना उपयुक्त ठरू शकेल. कंटाळवाणेपणाने त्यांना मारू नये म्हणून, मी प्रतिमा अधिक साधक बनविण्यासाठी वापरेन.
मागील बाबी: मी वापरेन उबंटू सर्व्हर 12.04.1 y अपाचे 2.2.22 नियंत्रित वातावरणात.
आम्ही सुरू.
काहींना आधीपासूनच माहित असेलच की डीफॉल्टनुसार उपलब्ध अपाचे साइट निर्देशिकामध्ये संग्रहित असतात / var / www / आणि या उदाहरणासाठी मी एचटीएमएल टेम्प्लेटसह एक निर्देशिका तयार करीन आणि .htpasswd सह संरक्षित करण्याचा प्रयत्न करू.
संरक्षण करण्यासाठी निर्देशिका आहे / वार / www / उदाहरण / जेथे मी पुढचे पृष्ठ ठेवले आहे.
1. आम्ही .htpasswd तयार करणार आहोत.
ते ज्या ठिकाणी स्थित आहे ते संबंधित ठिकाण आहे आणि त्यास सार्वजनिक निर्देशिकेच्या बाहेर ठेवणे शिफारसीपेक्षा अधिक असू शकते. माझ्या बाबतीत मी ते माझ्या वैयक्तिक फोल्डरमध्ये ठेवेल (जी पब्लिक अपाचे निर्देशिका नाही) आणि .htpasswd नावाने (एक अग्रक्रम असे म्हणतात की ते आवश्यक नाही, परंतु जे लपलेले आहे ते नेहमी चांगले असते)
खालील कमांडद्वारे मी वेब वापरकर्त्यासाठी .htpasswd फाईल तयार करतो ज्याला मी "लूक" म्हटले आहे.
# htpasswd -c /home/krel/.htpasswd Luke
हे आम्हाला दोनदा संकेतशब्द पुरवण्यास सांगेल, माझ्या बाबतीत मी "स्कायवॉकर" ठेवले आहे (कोटेशिवाय). अनियंत्रित वातावरणात आपण अधिक मजबूत संकेतशब्द स्थापित केले पाहिजेत. लिनक्सवरील डीफॉल्ट कूटबद्धीकरण एमडी 5 आहे परंतु युनिक्सवर हे क्रिप्ट () ची एक मानक अंमलबजावणी आहे आणि 8 वर्णांपेक्षा कमी वर्ण असलेल्या संकेतशब्दासाठी ते असुरक्षित असू शकते. आता मला शंका आहे की बीएसडीमध्ये तेच आहे का?
- -c → फाईल तयार करण्यासाठी
- /home/krel/.htpasswd file फाईलचा परिपूर्ण मार्ग.
- ल्यूक - वापरकर्तानाव (आपल्यास जे हवे ते असू शकते)
त्याचप्रमाणे, जेव्हा इंटरनेटवर सेवा असतात तेव्हा मी कोणालाही टर्मिनल वापरण्यास भाग पाडत नाही:
http://www.web2generators.com/apache/htpasswd_generator
http://www.htaccesstools.com/htpasswd-generator/
आम्ही मजकूर फाईलमध्ये आणि आपल्या नावाने .htpasswd नावाने निकाल कॉपी करतो. या पद्धतीविषयी, पुढील परिच्छेदात मी काय टिप्पणी करतो ते वाचणे थांबवू नका.
आमच्या बाबतीत आम्ही फाईल व्युत्पन्न केलेली दिसेल जेथे आम्ही त्यांची अपेक्षा /home/krel/.htpasswd केली होती. प्रतिमेमध्ये मी हायलाइट केले आहे की या पद्धतीने फाइल अपाचे वापरकर्ता आणि गटाची आहे, ज्याला उबंटूमध्ये www-डेटा म्हणतात. हे महत्वाचे आहे कारण जर आम्ही इतर कोणत्याही मार्गाने .htpasswd व्युत्पन्न केले असेल तर आम्हाला त्यास 644 परवानग्या असल्याचे सुनिश्चित करणे आवश्यक आहे.
बरं, आम्ही त्यांची हिम्मत कशी आहे ते पाहू:
जसे आपण पाहू शकता की तेथे वापरकर्ता (ल्यूक) आहे परंतु संकेतशब्द कूटबद्ध आहे.
अशाप्रकारे आम्ही लूक वापरकर्त्यासाठी आधीच .htpasswd तयार आणि तयार केले आहे. शेवटी हे संकेतशब्दासाठी कंटेनरशिवाय दुसरे काहीही नाही. "सर्व ऑर्डर वन कमांड" एक चांगला कॅटफ्रेज असेल.
2. अपाचे वापरण्यासाठी कॉन्फिगर करा आणि त्या सेवेला साइटवर अनुमती द्या.
# nano /etc/apache2/sites-available/default
आपल्याकडे अनेक होस्ट असल्यास, त्या प्रत्येकावर कार्य करणे आवश्यक आहे, माझ्या बाबतीत माझ्याकडे फक्त एक आहे जो डिफॉल्टनुसार येईल. हे विसरू नका की त्या फाईलचा बॅकअप घेणे नेहमीच चांगले आहे.
त्या फाईलची डीफॉल्ट रचना आहे:
सर्व्हर अॅडमीन वेबमास्टर @ लोकलहेस्ट
..................
..................
व्हर्च्युअल होस्ट शीर्षकामध्ये हे निश्चित आहे की .htpasswd चा वापर विशिष्ट निर्देशिकेत प्रवेश करण्यासाठी निर्दिष्ट केला जाईल. आम्ही खाली प्रतिमा जसे दिसते तसेच आमच्या उदाहरणास योग्य असे आम्ही करतो:
संरक्षणासाठी आपल्याला निर्देशिका ठेवावी लागेल.
ऑथटाइप बेसिक
ब्राउझरशी बोललेला हा वापरकर्ता आणि संकेतशब्दाचा प्रकार आहे, या प्रकरणात तो एनक्रिप्शनशिवाय मूलभूत आहे.
वाटाघाटीचा आणखी एक प्रकार आहे: डायजेस्ट, हा वापरकर्तानाव आणि संकेतशब्द कूटबद्ध करतो, तथापि, शेवटचा शब्द ब्राउझरने सांगितले की सेवा समर्थित करते की नाही. डायजेस्ट असे म्हटले जाऊ शकते की स्नीफर्सविरूद्ध ते थोडी अधिक जोरदार अंमलबजावणी आहे. मी या शोध घेणे आमंत्रित करतो.
ऑथनेम "प्रवेश करण्यापूर्वी दरवाजा ठोठावतो."
हा एक संदेश आहे जो लॉगिन फॉर्मसह ब्राउझरमधील वापरकर्त्यास दिसून येईल आणि तो आपल्याला हवा असलेला संदेश असू शकतो.
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 - मदत
आपण या विषयात सखोल जायचे असल्यास, आरटीएफएम नेहमीच चांगले असते!
http://httpd.apache.org/docs/2.0/es/howto/auth.html
http://httpd.apache.org/docs/2.2/misc/password_encryptions.html
मला एचटीएक्सेस आणि एचटीपीएसडब्ल्यूडी जनरेटर तयार करण्यासाठी ग्रॅनाडा विद्यापीठाच्या पृष्ठावरून ही पीएचपी स्क्रिप्ट कुतूहलही सापडली आहे. मी ते प्रत्यक्षात आणू शकलो नाही परंतु मी तुम्हाला "बुद्धिमत्तेसह प्रेमासाठी" आमंत्रित करतो.
कोणालाही स्वारस्य असल्यास या पृष्ठावरील HTML टेम्पलेट मला प्राप्त झाले.
http://www.templatemo.com/
आशा आहे की आपणास हे htpasswd सादरीकरण आवडले असेल.
आता पुन्हा पोस्ट वाचून मला समजले आहे की मी एक छोटासा गडबड केला आहे. जेव्हा मी साइट कॉन्फिगरेशनमधील ओळींचे स्पष्टीकरण देतो, तेव्हा ऑथ यूजरफाइलमध्ये मी /var/www/.pass/.htpwwd असते जेव्हा ते असावे:
/home/krel/.htpasswd.
प्रतिमेमध्ये ते ठीक आहे परंतु तेथेच ते माझ्यापासून बचावले, मी असा आहे की मी यापूर्वी त्या मार्गाने लेख बनविला होता, परंतु शेवटच्या क्षणी मी ते बदलले आणि असे दिसते की मी ते सुधारण्यास चुकलो.
मी आगाऊ दिलगीर आहोत
नॉटिलससाठी कोणताही पर्याय ??
आपण मला जे विचारता ते इतर मार्गाने जाते परंतु मी तरीही तसे उत्तर देतो.
माझा असा विश्वास आहे की क्रिप्टकीपरबरोबर निर्देशिका आणि त्यासारख्या गोष्टींचे संरक्षण करणे उपयुक्त ठरेल.
जर मी प्रामाणिक असेल तर मला जीनोमबद्दल आवडत नाही तर ती नॉटिलस आहे. डॉल्फिन (केडीई) या गोष्टींसाठी तंतोतंत सामर्थ्यवान आहेः जीपीजी सह एनक्रिप्ट करा, इत्यादी ...
कॅरेल, आपण येथे आणलेल्या संपूर्ण प्रशिक्षणांसाठी आणि विशेषतः इतके सामान्य विषय नसल्याबद्दल धन्यवाद.
चीअर्स !!! ...
हॅलो सर्व काही व्यवस्थित झाले पण .. जेव्हा मी क्रोम टॅब बंद करतो आणि दुसरा उघडतो तेव्हा मी पत्ता लिहितो आणि तो संकेतशब्द विचारत नाही ...
कोण तो झुबकेदार नाही असे म्हटले
मी जे शोधत होतो तेच होते आणि अशक्यतेने चांगले वर्णन केले
खूप खूप धन्यवाद.
एक ग्रीटिंग
हॅलो, मी या माहितीबद्दल विशेषत: .htpasswd मध्ये एकाधिक वापरकर्त्यांना जोडण्याच्या भागाबद्दल आभारी आहे.
देव तुम्हाला आशीर्वाद देईल!
अभिनंदन, हा एक अतिशय चांगला, स्पष्ट आणि पचणारा लेख आहे. खूप खूप धन्यवाद
मी वापरकर्तानाव आणि संकेतशब्द प्रविष्ट केल्यावर ते मला 500 त्रुटी देते
ऑथटाइप बेसिक
ऑथनेम "टोक टोक"
AuthUserFile /var/www/html/.pass/.htpasswd
वापरकर्ता अकिरा आवश्यक आहे
इतर टिप्पण्या पेरोडना न पाहता टिप्पणी दिल्याबद्दल मला हे किती चांगले होते.
छान छान पोस्ट काम करते
नमस्कार, चांगले ट्यूटोरियल, परंतु "htpasswd" ला पर्याय आहे का? मी विचारतो की मी लिनक्स पुदीना का वापरत आहे 17.3 आणि माझ्याकडे कमांड नाही… मला ते स्थापित करावे लागेल का?
ठीक आहे, मी हे शोधून काढले… मला हे sudo apt-get स्थापित apache2-utils सह स्थापित करावे लागले
नमस्कार, उत्कृष्ट ट्यूटोरियल, मी हे येथे दर्शविल्याप्रमाणे केले, फक्त बिंदू 2 मध्ये दर्शविलेल्या गोष्टी कार्यान्वित करण्याऐवजीः
नॅनो / इत्यादी / अपाचे 2 / साइट्स-उपलब्ध / डीफॉल्ट
हे माझ्यासाठी काम केले
नॅनो /etc/apache2/sites-en सक्षम/000-default.conf
अभिवादन, हे माझ्यासाठी कार्य करत नाही 🙁 माझे फोल्डर माझ्या सर्व्हरवर दिसत नाही, म्हणजेच मी माझे / var / 222 / html / सामग्री फोल्डर संरक्षित केले आहे आणि जेव्हा मी ब्राउझरमधून प्रवेश करतो तेव्हा सामग्री फोल्डर दिसत नाही. मदत करा