किसी को / etc / छाया के लिए एन्क्रिप्टेड पासवर्ड कैसे बनाना चाहिए?


9

मैं तोड़फोड़ रिपॉजिटरी एक्सेस के लिए एक लिनक्स बॉक्स पर एक नया खाता स्थापित कर रहा हूं, और नए उपयोगकर्ता को पासवर्ड भेज सकता हूं। हालाँकि, मुझे लगता है कि इस नए उपयोगकर्ता के लिए एक कमांड लाइन उपयोगिता थी कि वह उस पासवर्ड को एन्क्रिप्ट करने के लिए जिसे वह एक प्रारूप में पसंद करता है जिसे मैं सीधे / etc / छाया फ़ाइल में कॉपी / पेस्ट कर सकता हूं।

पूर्ण कमांड क्या था जो इस नए उपयोगकर्ता को ऐसे एन्क्रिप्टेड पासवर्ड बनाने के लिए कंसोल (जैसे बैश) पर चलना चाहिए?

अद्यतन: उपयोगकर्ता को मशीन पर लॉग इन करने की अनुमति नहीं होगी, और खाता केवल svn + ssh // एक्सेस के लिए उपयोग किया जाएगा। इसलिए, उपयोगकर्ता इसे स्वयं नहीं बदल सकता है।


उपयोगकर्ता बैश स्क्रिप्टिंग के बारे में पूछ रहा है, क्योंकि वह स्पष्ट रूप से मैन्युअल रूप से ऐसा नहीं करने जा रहा है।
टिम पोस्ट

जवाबों:


15

उपयोगकर्ता अपने कंप्यूटर पर कुछ इस तरह से निष्पादित कर सकता है:

echo "password"|openssl passwd -1 -stdin

और फिर आपको आउटपुट भेजें।


+1 वही करता है जो आप खोज रहे हैं।
एंटोनी बेनकेमॉन

हर बार जब मैं इसे कॉल करता हूं तो यह कमांड एक अलग मूल्य क्यों देता है?
एगॉन विलीघेन

2
आउटपुट का प्रारूप $ आईडी $ नमक एनक्रिप्टेड है। अलग-अलग आईडी और अलग-अलग नमक आपको एक अलग एन्क्रिप्टेड स्ट्रिंग देते हैं। आईडी का उपयोग किया गया एल्गोरिथ्म है: 0-DES, 1-> MD5, 2a-> ब्लोफिश, 5-> SHA-256, 6-> SHA512
गोंजालो

ठीक है, इसलिए मुझे यह पता लगाने की आवश्यकता है कि एक निश्चित आईडी (जो हर समय एक ही थी) और नमक (जो प्रत्येक कॉल के साथ बदल गया) को कैसे ट्रिगर किया जाए ... समझ में आता है।
एगॉन विलिघेन

2

छाया में पासवर्ड का प्रारूप अलग-अलग हो सकता है। आप इसे MD5 या पुराने पुराने DES3 के रूप में सेट कर सकते हैं या ... आप अपने उपयोगकर्ता को एक पासवर्ड भेज रहे हैं और उसे पहले लॉगिन में बदलने के लिए मजबूर कर रहे हैं ( # chage -d 0 username)


1

उन्हें पासवर्ड एन्क्रिप्ट करने और आपको भेजने के बजाय, केवल उन्हें टाइप करने के लिए क्यों न कहें:

passwd

यह वह सब कुछ करेगा जो आप अतिरिक्त लाभ के साथ करना चाहते हैं ताकि वे आपके पासवर्ड को आपके लिए बिना किसी अतिरिक्त काम के बदल सकें।

संपादित करें: के अनुसार इस , वहाँ माना जाता है कि एक कमांड makepassword कि आप Debian / Ubuntu के लिए प्राप्त कर सकते हैं कहा जाता है।


क्योंकि इसके लिए उपयोगकर्ता को पहले से ही लॉगिन करने की आवश्यकता होती है। ओपी पहली बार उपयोगकर्ता के लॉग इन करने से पहले पासवर्ड को सुरक्षित रूप से सेट करने के लिए समाधान चाहता है ।
डैनियल प्रीडेन

1
ऐसा लगता है कि बेतरतीब ढंग से पासवर्ड उत्पन्न करना और उन्हें लॉग इन करने पर उन्हें बदलना यह ठीक उसी तरह है जैसे वे पासवर्ड बनाते हैं और उन्हें मैन्युअल रूप से जोड़ना।
ब्रेंडन लॉन्ग

उपयोगकर्ता वास्तव में कभी भी लॉगिन नहीं करेगा (शेल: / बिन / गलत), और केवल SVN को पढ़ने / लिखने की अनुमति देता है ...
Egon Willighagen

2
आप शेल सेट कर सकते हैं: / usr / bin / passwd: D
ब्रेंडन लांग

1
मेरा मतलब है कि अंतिम टिप्पणी मजाक के रूप में, लेकिन जाहिर तौर पर यह काम करेगा: markmail.org/message/ekuxvnhdagywy4i5
ब्रेंडन लॉन्ग

0

/ etc / passwd और / etc / छाया सामान्य कमांड लाइन टूल (जैसे grep, awk, sed, tr, आदि) के साथ टोकन लेना बहुत आसान है।

क्या दिलचस्प हो जाता है वास्तविक पासवर्ड हैश फ़ील्ड / etc / छाया में, इसका उपसर्ग आपको बताता है कि पासवर्ड कैसे एन्क्रिप्ट किया गया है। आदमी (5) छाया से:

The password field must be filled. The encrypted password consists of 13 to 24 characters from the 64 characters alphabet a thru z, A
thru Z, 0 thru 9, \. and /. Optionally it can start with a "$" character. This means the encrypted password was generated using another
(not DES) algorithm. For example if it starts with "$1$" it means the MD5-based algorithm was used.

यह मोटे तौर पर कैसे एन्क्रिप्ट किया गया था यह इस बात पर निर्भर करता है कि स्थापित ओएस कितना पुराना है। / Etc / shadow में दूसरे क्षेत्र पर विशेष ध्यान देना महत्वपूर्ण है।

सिस्टम द्वारा उपयोग किए जा रहे हैश का अनुसरण करने के लिए आपको हर संभव प्रयास करना चाहिए, यह DES, MD5 आदि हो, क्योंकि इसका पता लगाना बहुत आसान है।



0

क्या कमांड लाइन के माध्यम से इस पासवर्ड को उत्पन्न करने का कोई तरीका है? हां, डेबियन पैकेज मेकवड के साथ (लेकिन केवल एमडी 5 के लिए):

echo "mypasswd" | makepasswd --crypt-md5
$1$r2elYKyB$vUr/Ph.brKTldM2h2k8J5.

लेकिन यह कॉपी / पेस्ट / अंदर / छाया के माध्यम से काम नहीं करेगा। कुछ लिनक्स वितरण में स्क्रिप्ट के माध्यम से पासवर्ड बदलने के लिए, आप इसका उपयोग कर सकते हैं:

echo oracle:mypasswd | chpasswd

या

echo -n mypasswd | passwd --stdin oracle
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.