linux - passwd in one command isn't working -


मैंने एक उपकरण विकसित किया है जो कि एक-लाइन कमांड को अलग-अलग लिनक्स मशीनों को एक शॉट में भेज रहा है। (एसएसएच पर अन्य मशीनों के साथ संचार करने के लिए एक जावा लाइब्रेरी)

इसलिए हमारे ग्राहक को सभी मशीनों पर पासवर्ड बदलने की जरूरत है। Google ने इस बिंदु तक पहुंचने में मुझे मदद की:

echo -e "123 \ n123" | | Passwd उपयोगकर्ता नाम जहां '123' नया पासवर्ड है।

कमांड निष्पादित करता है लेकिन यह हमेशा आउटपुट है:

  [root @ QNA-XR1 ~] # इको-ए "123 \ n123" | Passwd रूट के लिए पासवर्ड बदलना नया पासवर्ड: पासवर्ड रीटाइप करें: passwd: रूट के लिए पासवर्ड अपरिवर्तित है   

कौन सा इंगित करता है कि कमांड सफल नहीं हुआ।

कृपया ध्यान दें कि यह इस पर चल रहे लिनक्स के साथ एक छोटा सा उपकरण है यह संभवतः कॉम्पैक्ट होने के लिए निजी रूप से संकलित संस्करण है। मैं वास्तव में लिनक्स के बारे में बहुत कुछ नहीं जानता

यह मशीन की जानकारी है:

  [root @ QNA-XR1 ~] # uname -a Linux QNA-XR1 2.6 .22-XR100-v1.1.7 # 1 मंगल अगस्त 19 22:55:50 एडीटी 2008 पीपीसी अज्ञात   

passwd सहायता:

  [root @ QNA -XR1 ~] # passwd --help BusyBox v1.7.3 (2008-01-09 00:06:30 ईएसटी) मल्टी-कॉल बाइनरी उपयोग: पासवड् [विकल्प] [नाम] उपयोगकर्ता पासवर्ड बदलें। यदि कोई नाम निर्दिष्ट नहीं है, तो वर्तमान उपयोगकर्ता के लिए पासवर्ड बदलता है। विकल्प: -एक परिभाषित करें कि पासवर्ड के लिए किस एल्गोरिथ्म का उपयोग किया जाएगा (विकल्प: डेस, एमडी 5) -निर्दिष्ट उपयोगकर्ता खाते के लिए पासवर्ड को हटाना- L लॉक (अक्षम) निर्दिष्ट यूजर अकाउंट -यू अनलॉक (पुन: सक्षम) निर्दिष्ट यूजर अकाउंट   

echo help

  [root @ QNA-XR1 ~] # मदद गूंज गूंज: गूंज [-एएनई] [आरजी ...] आउटपुट एआरजी यदि -n निर्दिष्ट किया गया है, तो पिछली नई लाइन को दबा दिया गया है। यदि -e विकल्प दिया गया है, तो निम्न बैकस्लैश-एस्केप वर्णों की व्याख्या चालू है: \ a चेतावनी (घंटी) \ b बैक स्पेस \ c दबाए जा रहे नए लाइन \ ई बचने वाले चरित्र \ f फॉर्म फ़ीड \ n नई लाइन \ r कैरिएस रिटर्न \ T क्षैतिज टैब \ ऊर्ध्वाधर टैब \\ बैकस्लैश \ num वर्ण जिसका एएससीआईआई कोड NUM (ऑक्टल) है आप स्पष्ट रूप से -E विकल्प के साथ उपरोक्त वर्णों की व्याख्या को बंद कर सकते हैं।   

आपकी मदद के लिए बहुत पहले धन्यवाद।

< / bin / passwd एक पाइप के बजाय टर्मिनल से पढ़ने के लिए मजबूर करने के लिए / dev / tty को खोल सकता है।

आप एन्क्रिप्ट करने से बेहतर हो सकते हैं (हैशिंग , वास्तव में) crypt () का उपयोग करके अपना नया पासवर्ड, और फिर पासवर्ड हैश को / etc / shadow में बदलने के लिए (सिस्टम के लिए) या / etc / Passwd (सिस्टम के लिए जो नहीं)। यह कुछ हद तक ओएस-निर्भर होने का नुकसान है, लेकिन यह अजीब टीटीआई खेलों में नहीं आता है।

आप एसटीएस में एसटीएस के एक टीटी के आवंटन को बल देने में सक्षम भी हो सकते हैं या बिना दोनों एक। फिर आप सादा पाठ में दो बार पासवर्ड भेजने से पहले कुछ देरी जोड़ देंगे - यह विधि कम OS- निर्भर है, लेकिन टीटीआई गेम कभी मजाक से कम हो सकती है।

Comments