useradd / etc / shadow में पासवर्ड एन्क्रिप्ट नहीं कर रहा है


20

जब मैं vsftpd के लिए नए एफ़टीपी उपयोगकर्ता बनाने की कोशिश कर रहा था, तो मैंने इस समस्या को रोक दिया। निम्न कमांड के साथ एक नया उपयोगकर्ता बनाने और FileZilla के साथ लॉगिन का प्रयास करने पर, मुझे "गलत पासवर्ड" त्रुटि मिलेगी।

useradd f -p pass -d /home/f -s /bin/false

ऐसा करने के बाद, आदि / छाया शामिल हैं

f:pass:1111:0:99:2:::

एक बार मैं निम्नलिखित कमांड चलाता हूं और एक ही पास पास प्रदान करता हूं

passwd f

/ आदि / छाया शामिल हैं

f:$1$U1c5vVwg$x5TVDDDmhi0a7RWFer6Jn1:1111:0:99:2:::

ऐसा लगता है कि एन्क्रिप्शन होता है जब मैं चलाने के पासवर्ड , लेकिन पर नहीं है useradd

महत्वपूर्ण रूप से ऐसा करने के बाद, मैं ठीक उसी क्रेडेंशियल्स के साथ एफ़टीपी में प्रवेश करने में सक्षम हूं।

मैं CentOS 5.11, FTP के लिए vsftpd और FTP एक्सेस के लिए FileZilla का उपयोग कर रहा हूं

/ var / लॉग / सुरक्षित में शामिल हैं:

Dec 17 useradd[644]: new group: name=f, GID=511
Dec 17 useradd[644]: new user: name=f, UID=511, GID=511, home=/home/f, shell=/bin/false

जब मैं -p passuseradd से गुजरता हूं तो यह काम क्यों नहीं करता है ? इसे काम करने के लिए मुझे क्या करने की आवश्यकता है?


मुझे वहाँ एक सवाल नहीं दिखता? - इस तरह की चीजों को PAM के माध्यम से प्रबंधित किया जाता है और आमतौर पर लॉग इन किया जाता है/var/log/secure
HBruijn

@Hruijn मैंने अपने उत्तर को अपडेट करने के लिए अद्यतन किया है कि क्या लिखा है / var / log /
safe

2
वास्तव में? एक प्रश्न के लिए +12 जो संबंधित मैन पेज द्वारा स्पष्ट रूप से उत्तर दिया गया है?
एक CVn

ध्यान दें कि पासवर्ड हैश में $1$इंगित करता है कि एमडी 5 का उपयोग किया जाता है । MD5, जबकि पासवर्ड के लिए बिल्कुल भयानक नहीं है , बल्कि इन दिनों कमजोर पक्ष पर है। यह एक पूरी तरह से अलग सवाल है, लेकिन मैं आपसे एक मजबूत हैश फ़ंक्शन में माइग्रेट करने पर विचार करने का आग्रह करूंगा।
एक CVn

2
साइड नोट: पासवर्ड /etc/shadowएन्क्रिप्ट नहीं किए गए हैं लेकिन
हैशेड हैं

जवाबों:


43

वह यथायोग्य कार्य कर रहा है। यदि आप useraddकमांड का उपयोग करके पासवर्ड सेट करना चाहते हैं, तो आपको पासवर्ड का हैशेड संस्करण देना चाहिए useradd

स्ट्रिंग passहैशेड पासवर्ड फ़ील्ड के लिए प्रारूप मानदंड को पूरा नहीं करता है /etc/shadow, लेकिन कोई वास्तविक पासवर्ड उस स्ट्रिंग के पास नहीं है। इसका परिणाम यह है कि सभी इरादों और उद्देश्यों के लिए, वह खाता एक पासवर्ड होने के रूप में व्यवहार करेगा, लेकिन आप जिस किसी भी पासवर्ड का उपयोग करने का प्रयास करेंगे, उसे सही पासवर्ड नहीं होने के कारण अस्वीकार कर दिया जाएगा।

देखें man useraddया उपयोगकर्ता के दस्तावेज :

-p, --password पासवर्ड

एन्क्रिप्ट किया गया पासवर्ड, जैसा कि क्रिप्ट (3) द्वारा लौटाया गया है । डिफ़ॉल्ट पासवर्ड को निष्क्रिय करना है।

नोट: यह विकल्प अनुशंसित नहीं है क्योंकि पासवर्ड (या एन्क्रिप्टेड पासवर्ड) प्रक्रियाओं को सूचीबद्ध करने वाले उपयोगकर्ताओं द्वारा दिखाई देगा।

आपको यह सुनिश्चित करना चाहिए कि पासवर्ड सिस्टम की पासवर्ड पॉलिसी का सम्मान करता है।


32

manuseradd :

   -p, --password PASSWORD
       The encrypted password, as returned by crypt(3). The default is to
       disable the password.

आप इसे एक हैशेड पासवर्ड पास करने वाले हैं।
सादा पासवर्ड नहीं।


16

useraddआपसे अपेक्षा करता है कि आप इसे पासवर्ड का हैश ही नहीं, पासवर्ड भी दें। कमांड को हैशेड पासवर्ड प्रदान करने के लिए आप अपने कमांड पर निम्न भिन्नता का उपयोग कर सकते हैं useradd:

useradd f -p "$(mkpasswd --method=sha-512 'pass')" -d /home/f -s /bin/false

उपलब्ध तरीकों का पता लगाने के लिए, उपयोग करें:

mkpasswd --method=help

कमांड लाइन पर पासवर्ड पास करने से बचने के लिए, पासवर्ड को फ़ाइल में रखें (एडिटर का उपयोग करके echoऔर इसी तरह का प्रयोग न करें ) और करें:

useradd f -p "$(mkpasswd --method=sha-512 --password-fd=0 < filename)" -d /home/f -s /bin/false

यह कमांड लाइन पर हैशेड पासवर्ड पास करेगा, लेकिन प्लेनटेक्स्ट एक नहीं।

mkpasswdexpectपैकेज के साथ आता है ।


2
MD5 का उपयोग न करें! SHA-2
जोसेफ

9
क्या ध्यान दें कि यह अस्थायी रूप से विभिन्न कर्नेल इंटरफेस के माध्यम से पासवर्ड को उजागर करता है (किसी भी प्रक्रिया किसी अन्य प्रक्रिया के कमांड लाइन को पढ़ने के लिए अनुमति दी है) और में यह $ इतिहास या इसी तरह के तंत्र के माध्यम से डिस्क पर सादे पाठ में सहेजा जा रहा है हो सकता है।
एक CVn

@ माइकलकॉर्जलिंग: एक बहुत अच्छी बात। कृपया मेरा संपादित उत्तर देखें।
अगली सूचना तक रोक दिया गया।

1
बेशक, आप अभी भी डिस्क पर सादे पाठ पासवर्ड संग्रहीत कर रहे हैं। कम से कम, यह सिसडमिन को एक विकल्प देता है। हो सकता है कि इस बिंदु पर हम पहले एक डमी पासवर्ड का उपयोग करना बेहतर passwd
समझें

2
बिल्कुल डेनिस, यह बहुत बेहतर है, लेकिन पासवर्ड अभी भी सादे पाठ में डिस्क पर समाप्त होता है। कुछ स्थितियों में और कुछ खतरे वाले मॉडल के तहत, यह एक वास्तविक समस्या हो सकती है। यह होना नहीं है
बजे एक CVn
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.