अनुशंसित, 2024

संपादक की पसंद

लिनक्स अनुमतियाँ और chmod उपयोग को समझना

मैं पिछले कुछ महीनों से लिनक्स पर एक कोर्स कर रहा हूं और लिनक्स का एक पहलू जो मुझे हमेशा भ्रमित करता है कि अनुमतियाँ कैसे काम करती थीं। उदाहरण के लिए, एक बार अपने वेब सर्वर पर एक फ़ाइल अपलोड करते समय और एक त्रुटि मिलने पर, मुझे अपने वेब होस्ट द्वारा फ़ाइल की अनुमतियों को 755 में बदलने के लिए कहा गया था।

मेरे पास कोई सुराग नहीं था कि क्या मतलब था, भले ही अनुमतियों को बदलने से समस्या तय हो गई। मुझे अब एहसास हुआ है कि लिनक्स की अनुमति सभी जटिल नहीं हैं, आपको बस सिस्टम को समझना होगा। इस लेख में, मैं एक उच्च-स्तर पर लिनक्स अनुमतियों के बारे में बात करूँगा और आपको दिखाऊँगा कि फ़ाइलों और फ़ोल्डरों के लिए अनुमतियाँ बदलने के लिए chmod कमांड का उपयोग कैसे करें।

लिनक्स अनुमतियाँ और स्तर

लिनक्स में, मूल रूप से तीन अनुमतियाँ हैं जिनके बारे में आपको आमतौर पर चिंता करनी होगी: पढ़ना, लिखना और निष्पादित करना। ये तीनों बहुत ही आत्म-व्याख्यात्मक हैं। अब जब ये अनुमतियाँ किसी फ़ाइल पर लागू होती हैं, तो उन्हें स्तरों में लागू किया जाता है।

लिनक्स में अनुमतियों के तीन स्तर हैं: स्वामी, समूह और अन्य। स्वामी वह उपयोगकर्ता होता है जो फ़ाइल / फ़ोल्डर का स्वामी होता है, समूह में फ़ाइल के समूह में अन्य उपयोगकर्ता शामिल होते हैं और अन्य सभी अन्य उपयोगकर्ताओं का प्रतिनिधित्व करते हैं जो स्वामी या समूह में नहीं होते हैं।

पढ़ें, लिखें और निष्पादित करें या तो प्रतीकात्मक वर्णों के रूप में या अष्टक संख्याओं के रूप में प्रतिनिधित्व करते हैं। उदाहरण के लिए, यदि आप कुछ फ़ाइलों के साथ एक निर्देशिका में एक ls -l करते हैं, तो आप अनुमतियों का प्रतीकात्मक चरित्र प्रतिनिधित्व देखेंगे।

अनुमतियाँ निम्नानुसार लिखी गई हैं: पहला बिट या तो डैश या अक्षर d है। डैश का मतलब है कि यह एक फाइल है और डी निर्देशिका के लिए खड़ा है। ध्यान दें कि फ़ाइल नाम एक लिंक है तो पहला बिट भी l हो सकता है। इसके बाद, तीन बिट्स के तीन समूह हैं। प्रत्येक समूह में पहला बिट पढ़ने के लिए है, दूसरा बिट लिखने के लिए है और तीसरा बिट निष्पादन के लिए है। पहले तीन बिट्स स्वामी के लिए हैं, दूसरे तीन बिट्स समूह के लिए हैं और तीसरे तीन बिट्स अन्य के लिए हैं। यहाँ एक अधिक दृश्य व्याख्या है।

यदि आपको पत्र के स्थान पर डैश दिखाई देता है, तो इसका मतलब है कि स्वामी, समूह या अन्य सभी उपयोगकर्ताओं के पास यह अनुमति नहीं है। ऊपर दिए गए उदाहरण में, स्वामी, समूह और बाकी सभी ने लिखा है और अनुमतियों को निष्पादित किया है।

यदि आप ls -l कमांड से आउटपुट को देखते हैं, तो आप देखेंगे कि मेरी अभ्यास पाठ फ़ाइल में निम्नलिखित अनुमतियाँ हैं:

 -rw-rw-rw- 

इसका मतलब है कि सभी ने फ़ाइल के लिए केवल पढ़ने / लिखने की अनुमति दी है। यहाँ एक और उदाहरण है:

 drwxr - r-- 

पहले बिट को देखते हुए, हम देख सकते हैं कि अनुमतियाँ एक निर्देशिका के लिए हैं। स्वामी ने अनुमतियों को पढ़ा / लिखा / निष्पादित किया है, लेकिन समूह और अन्य उपयोगकर्ताओं ने केवल पढ़ने की अनुमति दी है।

अष्टक संख्या प्रतिनिधित्व

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

अतः लिनक्स ओक्टल नंबरों का उपयोग करके पढ़ना, लिखना और निष्पादित कैसे करता है? मूल रूप से, यह सिर्फ नीचे दिए गए अनुसार प्रत्येक अनुमति के लिए एक नंबर प्रदान करता है।

पढ़ने की अनुमति 4 द्वारा दर्शाई गई है, 2 से लिखिए और 1 से निष्पादित करें। आपको बस इतना करना है कि उन्हें अष्टाध्यायी की अनुमति मिलनी चाहिए। उदाहरण के लिए, चलो ऊपर का उदाहरण लेते हैं जहां सभी के पास सभी अनुमतियां हैं:

 -rwxrwxrwx 

मालिक के पास rwx है, इसलिए हम 7. का मान प्राप्त करने के लिए 4 + 2 + 1 जोड़ेंगे। हम समूह के लिए एक ही काम करते हैं और दूसरे के लिए एक ही काम करते हैं। अंतिम ऑक्टल मान 777 है। आइए एक उदाहरण देखें जहां हमने केवल पढ़ने / लिखने की अनुमति दी है:

 -rw-rw-rw- 

पहला ऑक्टल नंबर 4 + 2 होगा क्योंकि हम रीड एंड राइट जोड़ रहे हैं। दूसरा एक ही होगा जैसा कि तीसरा अष्टक संख्या होगा। यहां हमारे पास 666 का अंतिम अष्टाधारी मूल्य है।

तो अब इसे दूसरा तरीका आजमाते हैं। मान लें कि हम यह जानना चाहते हैं कि 755 किन अनुमतियों का प्रतिनिधित्व करता है? यदि आप इसे अलग-अलग नंबरों से तोड़ते हैं, तो यह पता लगाना बहुत आसान है। पहली संख्या 7 है, जिसे हम केवल 4 + 2 + 1 जोड़कर प्राप्त कर सकते हैं, जिसका अर्थ है कि स्वामी ने पढ़ने / लिखने / निष्पादन की अनुमति दी है। पांच केवल 4 + 1 जोड़कर प्राप्त किए जा सकते हैं, जिसका अर्थ है कि समूह और अन्य उपयोगकर्ताओं ने अनुमतियों को पढ़ा और निष्पादित किया है।

उम्मीद है, कि ऑक्टल नंबरों का उपयोग करके लिनक्स में अनुमतियों का प्रतिनिधित्व कैसे करें, यह एक अच्छी व्याख्या है। यह कुल मिलाकर बहुत सीधा है।

अनुमतियाँ संशोधित करने के लिए chmod का उपयोग करना

अब जब हम समझते हैं कि अनुमतियां कैसे पढ़ें, तो आइए हम इस बारे में बात करें कि हम उन्हें कैसे बदल सकते हैं। इस उद्देश्य के लिए उपयोग करने के लिए सबसे आसान उपयोगिता चामोद कमांड है। यहां देखिए यह कैसे काम करता है। कमांड को समझाने का सबसे अच्छा तरीका एक उदाहरण के माध्यम से जाना है।

चलिए हम उन अनुमतियों से शुरू करते हैं, जिनके बारे में हमने ऊपर बताया है:

 -rw-rw-rw- 

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

सटीक आज्ञा है

 chmod a + x फ़ाइल नाम 

सिंटैक्स निम्नानुसार है: स्वामी ( यू ), समूह ( ), अन्य ( ) या सभी ( ) द्वारा पीछा किए गए पत्र या पत्र जो अनुमतियों को जोड़ने के लिए ए + के बाद अनुमति प्राप्त करने के लिए - और फिर पत्र के लिए। अनुमति (पढ़ने के लिए आर, लिखने के लिए डब्ल्यू और निष्पादन के लिए एक्स )।

उपरोक्त उदाहरण में, मैंने सभी उपयोगकर्ताओं के लिए निष्पादन की अनुमति को जोड़ा। जैसा कि आप ऊपर स्क्रीनशॉट में देख सकते हैं परिणाम स्वामी, समूह और अन्य के लिए एक एक्स है । अब कहते हैं कि मैं केवल समूह और अन्य उपयोगकर्ताओं के लिए लेखन को हटाना और अनुमतियों को निष्पादित करना चाहता था।

जैसा कि आप यहाँ देख सकते हैं, मैंने इसे पूरा करने के लिए निम्न कमांड का उपयोग किया:

 chmod go-wx फ़ाइल नाम 

चूँकि मैं समूह और अन्य के लिए अनुमतियाँ बदलना चाहता हूँ, मैं अक्षर g और अक्षर o का उपयोग करता हूँ। मैं अनुमतियां निकालना चाहता हूं, इसलिए मैं - साइन का उपयोग करता हूं। अंत में, मैं लेखन को हटाना चाहता हूं और अनुमतियों को निष्पादित करना चाहता हूं, इसलिए मैं w और x का उपयोग करता हूं। यहां प्रतीक उपयोग के लिए एक आसान सा टेबल दिया गया है:

तो प्रतीक विधि का उपयोग करने के लिए यह सब है। अब हम ओक्टल विधि के बारे में बात करते हैं, जो मुझे थोड़ा आसान लगता है। ऑक्टल अच्छा है क्योंकि आप सभी को एक ही बार में अनुमतियाँ जोड़ या हटा सकते हैं।

यदि हम एक फ़ाइल पर निम्नलिखित अनुमतियों के साथ शुरू करते हैं, तो देखते हैं कि हम उन्हें ऑक्टल विधि का उपयोग करके कैसे बदल सकते हैं:

 -rw-rw-rw- 

ऊपर, आप देख सकते हैं कि मैंने निम्नलिखित कमांड का उपयोग किया है:

 chmod 744 फ़ाइल नाम 

यह मूल रूप से कहता है कि मालिक को पढ़ने / लिखने / निष्पादन की अनुमति मिलती है और समूह और अन्य को केवल पढ़ने की अनुमति मिलती है। जैसा कि आप देख सकते हैं, एक साधारण कमांड में अनुमतियां जोड़ना या हटाना आसान है। आइए चलते रहें और कहें कि मैं फिर से अनुमतियां बदलना चाहता हूं।

अब मैंने निम्नलिखित कमांड का उपयोग किया, फिर से एक बहुत ही सरल:

 chmod 640 फ़ाइल नाम 

यहाँ हमने स्वामी को पढ़ने / लिखने की अनुमति दी है, समूह ने केवल पढ़ने की अनुमति दी है और दूसरे समूह ने कोई अनुमति नहीं दी है। आप बिना किसी अनुमतियाँ को चिह्नित करने के लिए एक शून्य का उपयोग करते हैं। बहुत सरल, एह?

अंत में, यह लिनक्स अनुमतियों का एक बहुत ही सरल अवलोकन है और यह इससे कहीं अधिक जटिल हो सकता है, लेकिन शुरुआती लोगों के लिए, यह शुरू करने के लिए एक अच्छी जगह है। मैं भविष्य में और अधिक उन्नत अनुमतियों पर अधिक लेख पोस्ट करूंगा। यदि आपके कोई प्रश्न हैं, तो बेझिझक टिप्पणी करें। का आनंद लें!

Top