2014-06-10 3 views
12

द्वारा बनाई गई फ़ाइल के विरुद्ध उपयोगकर्ता और पासवर्ड सत्यापित करें, कमांड लाइन से, एक तरीका है, htpasswd द्वारा बनाई गई फ़ाइल के विरुद्ध उपयोगकर्ता और पासवर्ड की जांच करने के लिए, अपाचे द्वारा प्रदान किया गया टूल?htpasswd

+0

हम्म। 'Htpasswd' प्रोग्राम के बारे में प्रश्नों के लिए एक [टैग: htpasswd] टैग है, लेकिन सिस्टम इसे [टैग: .htpasswd] टैग के साथ सह-अस्तित्व में नहीं जाने देगा ... – Charles

उत्तर

18

निम्न आदेश और "MyPassword" का उपयोग कर पासवर्ड के रूप में

htpasswd -c /usr/local/apache/passwd/passwords username 

यह एक फ़ाइल है कि जैसे

username:$apr1$sr15veBe$cwxJZHTVLHBkZKUoTHV.k. 

$ apr1 $ लग रहा है पैदा करेगा आप पासवर्ड बनाने मान लिया जाये कि हैशिंग विधि है , sr15veBe नमक है, और अंतिम स्ट्रिंग हैश पासवर्ड है। आप जो उत्पादन

$apr1$sr15veBe$cwxJZHTVLHBkZKUoTHV.k. 

एक पाइप लाइन है जो आप इस्तेमाल कर सकते हैं होगा होगा

openssl passwd -apr1 -salt sr15veBe myPassword 

का उपयोग कर openssl का उपयोग कर इसे मान्य कर सकते हैं:

username="something" 
htpasswd -c /usr/local/apache/passwd/passwords $username 
****Enter password:**** 

salt=$($(cat passwords | cut -d$ -f3) 
password=$(openssl passwd -apr1 -salt $salt) 
****Enter password:**** 

grep -q $username:$password passwords 
if [ $? -eq 0 ] 
then echo "password is valid" 
else 
echo "password is invalid" 
fi 

आप अपने openssl आदेश को बदलने की आवश्यकता हो सकती है, के रूप में Apache के htpasswd कमांड प्रत्येक सिस्टम पर थोड़ा अलग तरीके से क्रिप्ट करता है।

अधिक जानकारी के लिए http://httpd.apache.org/docs/2.2/misc/password_encryptions.html

5

में इस विषय पर अपाचे के पृष्ठ पर जाएं आप इस के लिए htpasswd उपकरण का उपयोग कर सकते हैं।

# create htpasswd_file with user:password 
$ htpasswd -cb htpasswd_file user password 
Adding password for user user 

# verify password for user 
$ htpasswd -vb htpasswd_file user wrongpassword 
password verification failed 

$ htpasswd -vb htpasswd_file user password 
Password for user user correct. 

बाहर निकलें स्थिति विफलता के लिए सफलता के लिए 0, 3 है।

संबंधित मुद्दे