'पासवार्ड' और 'चॉस्वर्ड' में क्या अंतर है?


14

मैंने एक पुस्तक, पासवार्ड से इन कमांड का विवरण पढ़ा
:

मौजूदा उपयोगकर्ता के लिए पासवर्ड बदलता है।

chpasswd:

लॉगिन नाम और पासवर्ड जोड़े की एक फ़ाइल पढ़ता है, और पासवर्ड अपडेट करता है।

ऐसा लगता है कि ये कमांड वही काम कर रहे हैं। क्या उनके बीच कोई अंतर है?

संपादित करें:

मैं सीखना चाहता हूं कि जब हम उनका उपयोग करते हैं तो कौन सी फ़ाइल बदल जाती है। क्या वे एक ही फाइल या अलग फाइल को बदलते हैं? यदि वे अलग-अलग फ़ाइल बदलते हैं, तो वे क्या हैं?


2
/etc/passwordउपयोगकर्ता खाते की जानकारी शामिल है। /etc/shadowएन्क्रिप्टेड पासवर्ड शामिल हैं। मेरा मानना ​​है कि केवल वही फाइलें प्रासंगिक हैं। आप उन फ़ाइलों को मैन्युअल रूप से संपादित करके एक पासवर्ड बदल सकते हैं, लेकिन यह बहुत अजीब होगा।
SauceCode

जवाबों:


18

से man chpasswd:

'इस कमांड का उपयोग एक बड़े सिस्टम वातावरण में करने के लिए किया जाता है, जहां एक ही समय में कई खाते बनाए जाते हैं।'

passwd (मेरे अनुभव में) आम तौर पर एकल उपयोगकर्ता के लिए अंतःक्रियात्मक रूप से उपयोग किया जाता है।


7

इन दोनों के लिए मैन पेज देखें:

नाम

    chpasswd - बैच मोड में अपडेट पासवर्ड

SYNOPSIS

    chpasswd [विकल्प]

विवरण

    chpasswdआदेश मानक इनपुट से उपयोगकर्ता नाम और पासवर्ड जोड़ों की सूची पढ़ता है और मौजूदा उपयोगकर्ताओं के एक समूह को अद्यतन करने के लिए इस जानकारी का उपयोग करता है। प्रत्येक पंक्ति प्रारूप की है:

       प्रयोक्ता नाम पासवर्ड


नाम

    पासवार्ड - उपयोगकर्ता पासवर्ड बदलें

SYNOPSIS

    passwd [विकल्प] [लोगो]

विवरण

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


7

संक्षेप में:

  • passwdजाँचता है कि क्या STDIN (फाइल डिस्क्रिप्टर 0) टर्मिनल से जुड़ा हुआ है, का उपयोग कर isatty(0)। यदि नहीं, passwdतो जमानत होगी यानी आप केवल passwdअंतःक्रियात्मक रूप से काम कर सकते हैं

  • chpasswdदूसरी ओर, STDIN से उपयोगकर्ता नाम (उपयोगकर्ता नाम) पढ़ने के लिए डिज़ाइन किया गया है, और इसे बैच मोड कहा जाता है (एक साथ कई उपयोगकर्ता क्रेडेंशियल्स बनाता / अपडेट करता है)। यह पासवर्ड (एस) (डिफ़ॉल्ट रूप से स्पष्ट पाठ में), और उपयोगकर्ता नाम एसटीडीआईएन से पढ़ता है, प्रारूप में दी गई user_name:password, नई प्रविष्टियों को अलग करने के साथ


0

मैंने पाया कि यद्यपि

echo user:password | chpasswd

कुछ OS के लिए काम करता है, लेकिन कुछ OS जैसे कि डेबियन 9,10 एक त्रुटि दिखाएगा can not connect to /var/run/nscd/socketक्योंकि यह पासवर्ड को स्टोर करने के लिए /etc/nsswitch.conf का उपयोग करता है।

दूसरी तरफ, passwdकमांड को लगता है कि इंटरेक्टिव शेल की जरूरत नहीं है,

(echo user; echo password) | passwd

मेरे लिए भौतिक होस्ट और कंटेनर दोनों में, विभिन्न OSes (ubuntu xenial-bionic, debian9-10, centos75-76, coreos1855-2135) के लिए काम करता है

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