Linux chpasswd गाइड: बल्क पासवर्ड बदलाव और ऑटोमेशन

अवलोकन

सिस्टम एडमिनिस्ट्रेशन के दौरान दर्जनों या सैकड़ों यूज़र अकाउंट्स के क्रेडेंशियल्स को मैन्युअली रीसेट करना काफी समय लेने वाला काम होता है। लिनक्स का chpasswd यूटिलिटी टूल बिना किसी इंटरएक्टिव प्रॉम्प्ट के, बैच प्रोसेसिंग और स्टैंडर्ड इनपुट के जरिए क्रेडेंशियल अपडेशन को पूरी तरह ऑटोमेट करने की सुविधा देता है। इस गाइड में हम Ubuntu एनवायरनमेंट के अंदर सिंगल अकाउंट मॉडिफिकेशन से लेकर टेक्स्ट फाइल द्वारा बल्क पासवर्ड अपडेट और एडवांस एन्क्रिप्शन फ्लैग्स के प्रैक्टिकल उपयोग को विस्तार से समझेंगे।

chpasswd की कार्यप्रणाली और सिंगल यूज़र पासवर्ड अपडेट

प्रैक्टिकल शुरू करने से पहले एनवायरनमेंट तैयार करने के लिए sudo useradd -m -s /bin/bash testuser1 कमांड चलाकर एक टेस्टिंग यूज़र प्रोफाइल सेटअप करते हैं।

sudo useradd -m -s /bin/bash testuser1

मूल रूप से chpasswd यूटिलिटी स्टैंडर्ड इनपुट (stdin) से सीधे username:password प्रारूप में डेटा रीड करती है और बिना यूजर इंटरवेंशन के क्रेडेंशियल्स तुरंत अपडेट कर देती है।
शेल पाइप ऑपरेटर (|) के साथ echo का संयोजन करके हम किसी भी सिंगल अकाउंट का नया क्रेडेंशियल तुरंत इंजेक्ट कर सकते हैं।
⚙️ [महत्वपूर्ण कमांड विकल्प]

-c : पासवर्ड हैशिंग के लिए एल्गोरिदम (जैसे DES, MD5, SHA256, SHA512) सेट करता है।
-e : सिस्टम को संकेत देता है कि इनपुट स्ट्रिंग पहले से ही एनक्रिप्टेड हैश फॉर्म में है।
-m : एन्क्रिप्शन स्कीमा के रूप में लीगेसी MD5 एल्गोरिदम का चयन करता है।
-s : SHA एल्गोरिदम के उपयोग के समय हैशिंग राउंड्स (इट्रेशन काउंट) निर्धारित करता है।
-R : किसी विशिष्ट chroot डायरेक्टरी रूट पर टास्क निष्पादित करने के लिए प्रयुक्त होता है।

echo ’testuser1:Password123!’ | sudo chpasswd

क्रेडेंशियल अपडेट ठीक से लागू हुआ या नहीं, यह वेरीफाई करने के लिए हम सीधे /etc/shadow डेटाबेस से संबंधित रिकॉर्ड की जांच करते हैं।
कमांड आउटपुट में testuser1 के सामने जेनरेटेड क्रिप्टोग्राफिक हैश स्ट्रिंग दिखाई देती है, जिससे पुष्टि होती है कि नया पासवर्ड सुरक्षित रूप से सिस्टम में दर्ज हो चुका है।

sudo grep ‘^testuser1:’ /etc/shadow | cut -d: -f1,2

टेक्स्ट फाइल द्वारा मल्टीपल अकाउंट्स के पासवर्ड एक साथ बदलना

एक साथ कई अकाउंट्स को बैच मोड में अपडेट करने की प्रक्रिया टेस्ट करने के लिए sudo useradd -m -s /bin/bash testuser2 && sudo useradd -m -s /bin/bash testuser3 कमांड से दो अतिरिक्त यूजर प्रोफाइल्स तैयार करते हैं।

sudo useradd -m -s /bin/bash testuser2 && sudo useradd -m -s /bin/bash testuser3

अपडेट किए जाने वाले यूज़र्स और उनके संबंधित नए क्रेडेंशियल्स की सूची को username:password सिंटैक्स में user_passwords.txt नामक टेक्स्ट फाइल के अंदर सेव करते हैं।

printf ’testuser2:NewPass2026!\ntestuser3:NewPass2026!\n’ > user_passwords.txt

शेल इनपुट रीडायरेक्शन ऑपरेटर (<) की मदद से तैयार की गई user_passwords.txt फाइल को सीधे chpasswd टूल में फीड कर देते हैं।
बिना किसी टर्मिनल प्रॉम्प्ट या मैनुअल हस्तक्षेप के, फाइल में मौजूद सभी खातों के पासवर्ड्स एक ही ऑपरेशन में बैकग्राउंड में प्रोसेस हो जाते हैं।

sudo chpasswd < user_passwords.txt

बैच जॉब के सफल निष्पादन की पुष्टि करने के लिए sudo grep -E '^(testuser2|testuser3):' /etc/shadow | cut -d: -f1 कमांड चलाकर मॉडिफाइड अकाउंट्स की एंट्रीज को वैलिडेट करते हैं।
रिजल्ट में testuser2 और testuser3 दोनों रिकॉर्ड्स सुचारू रूप से दिखाई देते हैं, जिसका अर्थ है कि बल्क अपडेट ऑपरेशन पूरी तरह कामयाब रहा।

sudo grep -E ‘^(testuser2|testuser3):’ /etc/shadow | cut -d: -f1

क्रिप्टोग्राफिक एल्गोरिदम चयन (-c) और सिक्योरिटी हार्डनिंग

सिस्टम की सुरक्षा नीति को मजबूत करने के लिए हम डिफ़ॉल्ट व्यवहार के बजाय -c SHA512 फ्लैग के जरिए स्पष्ट रूप से SHA512 हैशिंग लागू करके testuser1 का क्रेडेंशियल अपडेट करते हैं।
मजबूत और आधुनिक क्रिप्टोग्राफिक हैश एल्गोरिदम तय करने से पासवर्ड डेटाबेस संभावित ब्रूट-फोर्स और डिक्शनरी हमलों से सुरक्षित रहता है।

echo ’testuser1:SecureSHA512Pass!’ | sudo chpasswd -c SHA512

नया हैश सही एल्गोरिदम से बना है या नहीं, इसे जांचने के लिए हम दोबारा /etc/shadow में testuser1 के फ़ील्ड्स को चेक करते हैं।
हैश स्ट्रिंग के शुरुआती प्रीफिक्स में $6$ दिखाई देता है, जो लिनक्स सिस्टम में यह प्रमाणित करता है कि पासवर्ड एन्क्रिप्शन के लिए SHA512 इंजन का ही इस्तेमाल हुआ है।

sudo grep ‘^testuser1:’ /etc/shadow | cut -d: -f1,2

टेस्टिंग एनवायरनमेंट की क्लीनअप प्रक्रिया

ट्यूटोरियल पूरा होने के बाद सर्वर को स्वच्छ स्थिति में बनाए रखने के लिए, बनाए गए डमी अकाउंट्स और उनकी होम डायरेक्टरीज को sudo userdel -r testuser1 && sudo userdel -r testuser2 && sudo userdel -r testuser3 निष्पादित करके पूरी तरह हटा देते हैं।

sudo userdel -r testuser1 && sudo userdel -r testuser2 && sudo userdel -r testuser3

साथ ही, प्लेनटेक्स्ट क्रेडेंशियल्स से जुड़ी फाइल को सर्वर पर खुला छोड़ने से बचने के लिए rm -f user_passwords.txt कमांड की मदद से उस टेम्परेरी फाइल को भी डिस्क से वाइप कर देते हैं।

rm -f user_passwords.txt

इस प्रकार हमने देखा कि chpasswd का कुशलतापूर्वक उपयोग करके किस तरह बड़े पैमाने पर यूजर पासवर्ड्स का बैच अपडेशन और ऑटोमेशन किया जा सकता है।
एंटरप्राइज लिनक्स इन्फ्रास्ट्रक्चर और ऑटोमेटेड डिप्लॉयमेंट पाइपलाइन्स में अकाउंट एडमिनिस्ट्रेशन को तेज और त्रुटिरहित बनाने के लिए यह कमांड अत्यंत कारगर सिद्ध होती है।