क्या आपने सोचा है कि लिनक्स एक बहु-उपयोगकर्ता वातावरण को कुशलतापूर्वक कैसे प्रबंधित करता है? इस लेख में हम बताते हैं कि कैसे Linux उपयोगकर्ता पासवर्ड और लॉगिन को संग्रहीत और प्रबंधित करता है।
/etc/passwd फ़ाइल को एक्सप्लोर करना
जब कोई उपयोगकर्ता उपयोगकर्ता नाम और पासवर्ड दर्ज करता है, तो लिनक्स "/ etc" निर्देशिका में कई फाइलों में एक प्रविष्टि के खिलाफ दर्ज पासवर्ड की जांच करता है।
"/etc/passwd" सबसे महत्वपूर्ण फाइलों में से एक है जो उपयोगकर्ता विवरण संग्रहीत करता है।
इस फ़ाइल में अंतिम प्रविष्टि "कार्बन" उपयोगकर्ताओं से मेल खाती है। जानकारी के कई क्षेत्र कोलन (:) द्वारा अलग किए गए हैं।
carbon
:उस उपयोगकर्ता का नाम जिसके लिए यह प्रविष्टि संबंधित है।x
:इंगित करता है कि उपयोगकर्ता के लिए एक पासवर्ड मौजूद है। हालाँकि, पासवर्ड "/ etc / छाया" फ़ाइल में संग्रहीत है। अगरx
. के बजाय यह एक!
दिखाता है प्रतीक, यह इंगित करता है कि पासवर्ड मौजूद नहीं है।1000
:इस उपयोगकर्ता की उपयोगकर्ता आईडी।1000
:यह उपयोगकर्ता जिस समूह से संबंधित है उसकी समूह आईडी।carbon, , ,
:पूरा नाम और टेलीफोन नंबर सहित सूचना के कई क्षेत्रों का संकेत। यहां, कोई टेलीफोन नंबर नहीं दिया गया है।/home/carbon
:इस उपयोगकर्ता को सौंपी गई होम निर्देशिका का स्थान।/bin/bash
:इस उपयोगकर्ता को दिया गया डिफ़ॉल्ट शेल।
आइए हम एक अन्य उपयोगकर्ता बनाते हैं जिसके लिए कुछ टेलीफोन नंबर संग्रहीत किए गए हैं। उपयोगकर्ता "प्लूटो" को adduser
. का उपयोग करके सिस्टम में जोड़ा जाता है आदेश।
"आदि/पासवार्ड" फ़ाइल को फिर से देखते हुए, हम उपयोगकर्ता "प्लूटो" के लिए पूरी जानकारी देख सकते हैं। जिस फ़ील्ड में पूरे नाम और संख्याओं की अल्पविराम से अलग की गई सूची होती है, उसे "GECOS फ़ील्ड" कहा जाता है।
जब भी कोई उपयोगकर्ता बनाया जाता है, तो होम निर्देशिका और डिफ़ॉल्ट शेल के मान जिन्हें असाइन करने की आवश्यकता होती है, उन्हें "/etc/adduser.conf" फ़ाइल में निर्दिष्ट किया जाता है।
बनाए गए उपयोगकर्ताओं के लिए उपयोगकर्ता आईडी 1000 से शुरू होती हैं और 59999 तक चलती हैं।
उपयोगकर्ता "कार्बन" केवल cat
का उपयोग करके "/etc/passwd" फ़ाइल की प्रविष्टियों को देखने में सक्षम था आज्ञा। आइए इसकी अनुमतियों पर एक नज़र डालें।
केवल "रूट" उपयोगकर्ता फ़ाइल को लिख सकता है। अन्य उपयोगकर्ता केवल फ़ाइल पढ़ सकते हैं। चूंकि यह फ़ाइल सभी के द्वारा पठनीय है, इसलिए यहां पासवर्ड संग्रहीत करना आदर्श नहीं है। इसके बजाय इसे "/etc/छाया" नामक एक अन्य फ़ाइल में संग्रहीत किया जाता है।
/etc/छाया फ़ाइल को एक्सप्लोर करना
अब हम "कार्बन" और "प्लूटो" उपयोगकर्ताओं के लिए "/etc/छाया" फ़ाइल में संग्रहीत पासवर्ड देखने का प्रयास करते हैं।
"/ etc / छाया" फ़ाइल के लिए अनुमतियों को देखते हुए, हम देख सकते हैं कि केवल "रूट" उपयोगकर्ता फ़ाइल को पढ़ और लिख सकता है। साथ ही "छाया" समूह के केवल सदस्य ही फ़ाइल को पढ़ सकते हैं। वास्तव में, "छाया" समूह खाली है, लेकिन इस फ़ाइल के लिए वाक्य-विन्यास की आवश्यकता है।
"रूट" के रूप में लॉग इन करके, हम "/ etc / छाया" की अंतिम दस पंक्तियों को देख सकते हैं। “/ etc/passwd” में प्रत्येक प्रविष्टि के लिए इस फ़ाइल में एक संगत प्रविष्टि है। प्रारूप इस प्रकार होगा:
pluto:$6$JvWfZ9u....:18283:0:99999:7:::
इस फ़ाइल में भी, प्रत्येक प्रविष्टि में कोलन (:) द्वारा अलग किए गए कई फ़ील्ड हैं। आइए हम "प्लूटो" उपयोगकर्ता के लिए प्रविष्टि को समझें।
pluto
:उस उपयोगकर्ता का नाम जिसके लिए यह प्रविष्टि संबंधित है।$6$JvWfZ9u.$yGFIqOJ....
:उपयोग किया गया हैशिंग एल्गोरिथम के बारे में जानकारी के साथ संग्रहीत हैशेड उपयोगकर्ता पासवर्ड। इसके अतिरिक्त, पासवर्ड हैश उत्पन्न करने के लिए सादे टेक्स्ट पासवर्ड के साथ एक नमक मान का उपयोग किया जाता है।
{ plaintext password, salt} -> hashed password
आइए इस क्षेत्र में सामग्री को संसाधित करें। $
प्रतीक का उपयोग तीन क्षेत्रों को अलग करने के लिए एक सीमांकक के रूप में किया जाता है।
$6 $JvWfZ9u. $yGFIqOJ....
$6
:हैशिंग एल्गोरिथम का उपयोग किया गया। संभावित हैशिंग एल्गोरिदम की सूची यहां दी गई है।- $1 :MD5
- $2a :ब्लोफिश
- $2y :एक्सब्लोफिश
- $5 :SHA-256
- $6 :SHA-512
$JvWfZ9u.
:नमक मूल्य।$yGFIqOJ....
:हैशेड पासवर्ड।
परिणामी हैश मान उपयोगकर्ता के लिए एन्क्रिप्टेड पासवर्ड के रूप में संग्रहीत किया जाता है। नमक मूल्य प्रत्येक उपयोगकर्ता के लिए अद्वितीय है। भले ही दो उपयोगकर्ताओं के पास एक ही सादा पाठ पासवर्ड हो, एक अद्वितीय नमक का उपयोग करने से एक अद्वितीय हैश मान उत्पन्न होगा।
इस प्रविष्टि में शेष क्षेत्रों के बाद,
18283
:1 जनवरी, 1970 के बाद से उन दिनों की संख्या को दर्शाता है, जब पासवर्ड पिछली बार बदला गया था0
:इस फ़ील्ड का उपयोग उन दिनों की संख्या को इंगित करने के लिए किया जाता है जिसके बाद पासवर्ड बदला जा सकता है। 0 के मान का अर्थ है कि पासवर्ड किसी भी समय बदला जा सकता है।99999
:यह फ़ील्ड उन दिनों की संख्या को इंगित करती है जिसके बाद पासवर्ड बदलना होगा। 99999 का मान इंगित करता है कि उपयोगकर्ता जब तक चाहें पासवर्ड बनाए रख सकता है।7
:यदि पासवर्ड समाप्त होने के लिए सेट है, तो यह फ़ील्ड उपयोगकर्ता को पासवर्ड की समाप्ति के बारे में चेतावनी देने के लिए दिनों की संख्या इंगित करती है।: : :
तीन और क्षेत्र इस प्रविष्टि का हिस्सा हैं, हालांकि वे यहां खाली हैं। पहला पासवर्ड समाप्ति के बाद प्रतीक्षा करने के दिनों की संख्या को इंगित करता है, जिसके बाद खाता अक्षम कर दिया जाएगा। दूसरा 1 जनवरी, 1970 के बाद से दिनों की संख्या को इंगित करता है कि एक खाता अक्षम कर दिया गया है। तीसरा क्षेत्र भविष्य के उपयोग के लिए आरक्षित है। खाली फ़ील्ड इंगित करते हैं कि इस उपयोगकर्ता के लिए मौजूदा पासवर्ड समाप्त नहीं हुआ है और जल्द ही समाप्त होने के लिए तैयार नहीं है।
पासवर्ड वैधता से संबंधित अंतिम सात क्षेत्रों को सामूहिक रूप से "पासवर्ड उम्र बढ़ने की नीति" के बारे में जानकारी रखने के लिए कहा जाता है।
"पासवर्ड एजिंग पॉलिसी" के अनुरूप डिफ़ॉल्ट मान "/etc/login.defs" फ़ाइल में निर्दिष्ट हैं। उपयोगकर्ता के लिए change
. का उपयोग करके इन मानों को बदला जा सकता है आदेश।
ग्रुप की जानकारी के बारे में क्या?
उपयोगकर्ता जानकारी और पासवर्ड "/etc/passwd" और "/etc/shadow" फाइलों में संग्रहीत होते हैं। इसी तरह, समूह की जानकारी "/etc/group" फ़ाइल में संग्रहित की जाती है।
ऊपर हाइलाइट किए गए समूह "कार्बन" और "प्लूटो" उपयोगकर्ताओं से संबंधित हैं। जब कोई उपयोगकर्ता Linux में बनाया जाता है, तो उस उपयोगकर्ता को तुरंत उपयोगकर्ता नाम के समान नाम वाले समूह को असाइन कर दिया जाता है।
समूह से संबंधित गतिविधियों के लिए समूह के सदस्य समूह पासवर्ड भी साझा कर सकते हैं। x
. का मान इंगित करता है कि उस समूह की पासवर्ड जानकारी “/etc/gshadow” फ़ाइल में होगी।
हालांकि, "/etc/gshadow" तक पहुंच "रूट" उपयोगकर्ता के लिए प्रतिबंधित है।
"रूट" उपयोगकर्ता "/ etc / gshadow" की प्रविष्टियों को देख सकता है, जो "/ etc / छाया" के समान है। "कार्बन" समूह के लिए प्रविष्टि को देखते हुए, हम देख सकते हैं कि दूसरे फ़ील्ड का मान !
है , जो इंगित करता है कि इस समूह के लिए कोई पासवर्ड मौजूद नहीं है।
सब कुछ एक साथ रखना
जब कोई उपयोगकर्ता लॉग इन करना चाहता है, तो टाइप किए गए पासवर्ड का हैश "/ etc / छाया" में उस उपयोगकर्ता के नमक मान का उपयोग करके पाया जाता है। फिर इसकी तुलना संग्रहीत हैश से की जाती है। यदि मान मेल खाते हैं, तो उपयोगकर्ता को पहुंच प्रदान की जाती है।
संबंधित:
- लिनक्स में रूट पासवर्ड कैसे रीसेट करें
- लिनक्स में टर्मिनल से अपना उपयोगकर्ता पासवर्ड कैसे प्रबंधित करें