लिनक्स/यूनिक्स में फ़ाइल अनुमतियाँ: कैसे पढ़ें, लिखें और बदलें
⚡ स्मार्ट सारांश
लिनक्स और यूनिक्स में फ़ाइल अनुमतियाँ यह नियंत्रित करती हैं कि कौन प्रत्येक फ़ाइल को पढ़, लिख और निष्पादित कर सकता है, जो दो स्तरों के माध्यम से एक बहु-उपयोगकर्ता प्रणाली की सुरक्षा करती है: स्वामित्व, जो एक उपयोगकर्ता, समूह और अन्य को निर्दिष्ट करता है, और पढ़ने, लिखने और निष्पादित करने की अनुमति बिट्स।
फ़ाइल अनुमतियाँ Linux यूनिक्स यह तय करता है कि कौन किस फ़ाइल को पढ़ सकता है, संशोधित कर सकता है या चला सकता है, जिससे साझा, बहु-उपयोगकर्ता प्रणाली सुरक्षित रहती है। यह पृष्ठ फ़ाइल स्वामित्व, पढ़ने, लिखने और निष्पादन की अनुमतियों और उन्हें बदलने वाले कमांड के बारे में विस्तार से बताता है।
लिनक्स, यूनिक्स का क्लोन है, जो एक बहु-उपयोगकर्ता ऑपरेटिंग सिस्टम है जिसे कई उपयोगकर्ता एक साथ उपयोग कर सकते हैं। लिनक्स को बिना किसी बदलाव के मेनफ्रेम और सर्वर पर भी इस्तेमाल किया जा सकता है। लेकिन इससे सुरक्षा संबंधी चिंताएं पैदा होती हैं, क्योंकि कोई अनधिकृत या दुर्भावनापूर्ण उपयोगकर्ता महत्वपूर्ण डेटा को दूषित, परिवर्तित या हटा सकता है। प्रभावी सुरक्षा के लिए, लिनक्स प्राधिकरण को दो स्तरों में विभाजित करता है:
- स्वामित्व
- अनुमति
लिनक्स में फ़ाइल अनुमति और स्वामित्व की अवधारणा अत्यंत महत्वपूर्ण है। यहाँ हम लिनक्स अनुमतियों और स्वामित्व की व्याख्या करेंगे और दोनों पर चर्चा करेंगे। चलिए स्वामित्व से शुरू करते हैं।
लिनक्स फ़ाइल स्वामित्व
आपके Unix/Linux सिस्टम पर प्रत्येक फ़ाइल और डायरेक्टरी को तीन प्रकार के स्वामी दिए जाते हैं, जिनका विवरण नीचे दिया गया है। नीचे दिया गया आरेख दर्शाता है कि स्वामित्व उपयोगकर्ता, समूह और अन्य के साथ कैसे संबंधित है।
उपयोगकर्ता
उपयोगकर्ता फ़ाइल का स्वामी होता है। डिफ़ॉल्ट रूप से, फ़ाइल बनाने वाला व्यक्ति उसका स्वामी बन जाता है। इसलिए, उपयोगकर्ता को कभी-कभी स्वामी भी कहा जाता है।
समूह
A यूजर ग्रुप एक समूह में कई उपयोगकर्ता हो सकते हैं। समूह के सभी उपयोगकर्ताओं को फ़ाइल के लिए समान लिनक्स समूह अनुमतियाँ प्राप्त होती हैं। मान लीजिए आपके पास एक प्रोजेक्ट है जिसमें कई लोगों को एक फ़ाइल तक पहुँच की आवश्यकता है। प्रत्येक उपयोगकर्ता को मैन्युअल रूप से अनुमतियाँ देने के बजाय, आप सभी उपयोगकर्ताओं को एक समूह में जोड़ सकते हैं और फ़ाइल को समूह अनुमति दे सकते हैं, ताकि केवल ये समूह सदस्य ही फ़ाइलों को पढ़ या संशोधित कर सकें, कोई और नहीं।
अन्य
कोई भी अन्य उपयोगकर्ता जिसके पास फ़ाइल तक पहुंच है। इस व्यक्ति ने न तो फ़ाइल बनाई है और न ही वह किसी ऐसे उपयोगकर्ता समूह का सदस्य है जो फ़ाइल का मालिक हो सकता है। व्यावहारिक रूप से, इसका अर्थ है कि हर कोई अन्य उपयोगकर्ता। इसलिए, जब आप दूसरों के लिए अनुमति निर्धारित करते हैं, तो इसे 'विश्व के लिए अनुमति निर्धारित करना' भी कहा जाता है।
अब बड़ा सवाल उठता है: लिनक्स इन तीन प्रकार के उपयोगकर्ताओं के बीच अंतर कैसे करता है ताकि उपयोगकर्ता 'ए' किसी ऐसी फ़ाइल को प्रभावित न कर सके जिसमें किसी अन्य उपयोगकर्ता 'बी' की महत्वपूर्ण जानकारी या डेटा हो? यह ठीक वैसा ही है जैसे आप अपने किसी सहकर्मी को, जो आपके कंप्यूटर पर काम करता है, प्रभावित नहीं करना चाहते। लिनक्स कंप्यूटर आपकी छवियों को देखने के लिए। यहीं पर अनुमतियाँ काम आती हैं, और वे उपयोगकर्ता के व्यवहार को परिभाषित करती हैं।
आइए लिनक्स पर अनुमति प्रणाली को समझते हैं।
लिनक्स फ़ाइल अनुमतियाँ
आपके यूनिक्स/लिनक्स सिस्टम में प्रत्येक फ़ाइल और निर्देशिका के लिए ऊपर बताए गए तीनों स्वामियों के लिए निम्नलिखित तीन अनुमतियाँ परिभाषित की गई हैं।
- पढ़ें: यह अनुमति आपको किसी फ़ाइल को खोलने और पढ़ने का अधिकार देती है। किसी डायरेक्टरी पर रीड अनुमति आपको उसकी सामग्री को सूचीबद्ध करने की क्षमता प्रदान करती है।
- लिखना: राइट परमिशन आपको किसी फ़ाइल की सामग्री को संशोधित करने का अधिकार देती है। किसी डायरेक्टरी पर राइट परमिशन आपको उस डायरेक्टरी में संग्रहीत फ़ाइलों को जोड़ने, हटाने और उनका नाम बदलने का अधिकार देती है। मान लीजिए कि आपके पास किसी फ़ाइल पर राइट परमिशन है, लेकिन उस डायरेक्टरी पर नहीं है जहाँ वह फ़ाइल संग्रहीत है। आप फ़ाइल की सामग्री को संशोधित तो कर सकेंगे, लेकिन आप फ़ाइल का नाम नहीं बदल सकेंगे, उसे स्थानांतरित नहीं कर सकेंगे या डायरेक्टरी से हटा नहीं सकेंगे।
- निष्पादित: In Windowsएक निष्पादन योग्य प्रोग्राम में आमतौर पर “.exe” एक्सटेंशन होता है, जिसे आप आसानी से चला सकते हैं। Unix/Linux में, आप किसी प्रोग्राम को तब तक नहीं चला सकते जब तक कि उसे चलाने की अनुमति न हो। यदि चलाने की अनुमति नहीं है, तो आप प्रोग्राम कोड को देख या संशोधित कर सकते हैं (बशर्ते पढ़ने और लिखने की अनुमति हो), लेकिन उसे चला नहीं सकते।
आइए उदाहरणों के साथ लिनक्स में फ़ाइल अनुमतियों को समझते हैं। टर्मिनल पर ls -l कमांड चलाने पर यह परिणाम मिलता है:
ls -l
नीचे दिए गए स्क्रीनशॉट में अनुमति स्ट्रिंग को एक लंबी सूची में दिखाया गया है।
यहां हमने '-rw-rw-r–' को हाईलाइट किया है, और यह अजीब दिखने वाला कोड हमें मालिक, उपयोगकर्ता समूह और दुनिया को दी गई यूनिक्स अनुमतियों के बारे में बताता है।
यहां, पहला '-' यह दर्शाता है कि हमने एक फ़ाइल का चयन किया है। नीचे दिया गया आइकन एक सामान्य फ़ाइल को दर्शाता है।
अन्यथा, यदि यह एक निर्देशिका होती, तो नीचे दी गई सूची की तरह 'd' प्रदर्शित होता।
पात्रों को याद रखना बहुत आसान है।
- r = पढ़ने की अनुमति
- w = लेखन अनुमति
- x = निष्पादन अनुमति
- – = अनुमति नहीं है
आइए इसे इस तरह से देखें। कोड का पहला भाग 'rw-' है। इससे पता चलता है कि मालिक 'Home' निम्न कार्य कर सकता है:
- फ़ाइल पढ़ें
- फ़ाइल लिखें या संपादित करें
मालिक फ़ाइल को निष्पादित नहीं कर सकता, क्योंकि निष्पादन बिट '-' पर सेट है। नीचे दिया गया आइकन निष्पादन बिट को डैश में बदलने को दर्शाता है।
डिजाइन के अनुसार, फेडोरा, सेंटओएस और कई लिनक्स वितरणों में यह सुविधा होती है। Ubuntu किसी उपयोगकर्ता को उसी नाम के समूह में जोड़ें। इस प्रकार, 'टॉम' नामक उपयोगकर्ता को 'टॉम' नामक समूह में जोड़ा जाता है।
दूसरा भाग 'rw-' है। यह 'होम' उपयोगकर्ता समूह के लिए है, और समूह के सदस्य निम्न कार्य कर सकते हैं:
- फ़ाइल पढ़ें
- फ़ाइल लिखें या संपादित करें
तीसरा भाग दुनिया के लिए है, जिसका अर्थ है कोई भी उपयोगकर्ता। इसमें 'r–' लिखा है। इसका मतलब है कि उपयोगकर्ता केवल ये कर सकता है:
- फ़ाइल पढ़ें
नीचे दिया गया विवरण अनुमति स्ट्रिंग के प्रत्येक भाग को स्वामी, समूह और दुनिया से जोड़ता है।
Linux में 'chmod' कमांड का उपयोग करके फ़ाइल/डायरेक्टरी की अनुमतियाँ बदलना
मान लीजिए कि आप नहीं चाहते कि आपका कोई सहकर्मी आपकी निजी तस्वीरें देखे। फ़ाइल अनुमतियों को बदलकर ऐसा किया जा सकता है।
हम 'chmod' का उपयोग कर सकते हैं। आदेश, जिसका अर्थ है 'मोड बदलें'। इस कमांड का उपयोग करके, हम किसी फ़ाइल या डायरेक्टरी पर मालिक, समूह और दुनिया के लिए अनुमतियाँ (पढ़ना, लिखना, निष्पादित करना) सेट कर सकते हैं।
सिंटेक्स:
chmod permissions filename
इस कमांड का उपयोग करने के दो तरीके हैं:
- निरपेक्ष मोड
- प्रतीकात्मक मोड
लिनक्स में निरपेक्ष (संख्यात्मक) मोड
इस मोड में, फ़ाइल अनुमतियों को वर्णों के रूप में नहीं, बल्कि तीन अंकों की अष्टक संख्या के रूप में दर्शाया जाता है। नीचे दी गई तालिका में सभी प्रकार की अनुमतियों के लिए संख्याएँ दी गई हैं।
| नंबर | अनुमति प्रकार | चिन्ह |
|---|---|---|
| 0 | अनुमति नहीं | - |
| 1 | निष्पादित करना | -एक्स |
| 2 | लिखना | -डब्ल्यू- |
| 3 | निष्पादित करें + लिखें | -डब्ल्यूएक्स |
| 4 | पढ़ना | आर- |
| 5 | पढ़ें + निष्पादित करें | आरएक्स |
| 6 | पढ़ना + लिखना | आरडब्ल्यू- |
| 7 | पढ़ें + लिखें + निष्पादित करें | आरडब्ल्यूएक्स |
आइए नीचे दिए गए टर्मिनल विंडो में दिखाए गए अनुसार chmod कमांड को क्रियान्वित होते हुए देखें।
ऊपर दिए गए टर्मिनल विंडो में, हमने 'सैंपल' फ़ाइल की अनुमतियों को '764' में बदल दिया है। '764' का पूर्ण कोड निम्नलिखित दर्शाता है:
- स्वामी पढ़, लिख और निष्पादित कर सकता है।
- उपयोगकर्ता समूह पढ़ और लिख सकता है।
- दुनिया केवल पढ़ सकती है।
इसे '-rwxrw-r–' के रूप में दर्शाया गया है, जैसा कि नीचे दिए गए परिणाम में है।
इस प्रकार आप किसी फ़ाइल पर उपयोगकर्ता अनुमतियों को बदलने के लिए लिनक्स में एक निरपेक्ष संख्या निर्दिष्ट कर सकते हैं।
लिनक्स में प्रतीकात्मक मोड
एब्सोल्यूट मोड में, आप तीनों मालिकों के लिए अनुमतियाँ बदल सकते हैं। सिंबॉलिक मोड में, आप किसी विशिष्ट मालिक की अनुमतियों को संशोधित कर सकते हैं। यह यूनिक्स फ़ाइल अनुमतियों को संशोधित करने के लिए गणितीय प्रतीकों का उपयोग करता है।
| Operaटो | विवरण |
|---|---|
| + | किसी फ़ाइल या निर्देशिका में अनुमति जोड़ता है |
| - | अनुमति हटाता है |
| = | यह अनुमति निर्धारित करता है और पहले से निर्धारित अनुमतियों को ओवरराइड करता है। |
विभिन्न मालिकों का विवरण इस प्रकार है।
| उपयोगकर्ता | संकेत |
|---|---|
| u | उपयोगकर्ता/स्वामी |
| g | समूह |
| o | अन्य |
| a | सब |
हम 755 जैसी संख्याओं में अनुमति का उपयोग नहीं करेंगे, बल्कि rwx जैसे अक्षरों में अनुमति का उपयोग करेंगे। आइए नीचे दिए गए उदाहरण को देखें।
लिनक्स में स्वामित्व और समूह बदलना
किसी फ़ाइल या डायरेक्टरी का स्वामित्व बदलने के लिए, आप निम्न कमांड का उपयोग कर सकते हैं:
chown user filename
यदि आप किसी फ़ाइल या निर्देशिका के लिए उपयोगकर्ता और समूह दोनों को बदलना चाहते हैं, तो निम्न कमांड का उपयोग करें:
chown user:group filename
आइए इसे नीचे दिखाए गए तरीके से व्यवहार में देखें।
यदि आप केवल समूह के स्वामी को बदलना चाहते हैं, तो निम्न कमांड का उपयोग करें:
chgrp group_name filename
'chgrp' का अर्थ है समूह परिवर्तन। नीचे दिया गया स्क्रीनशॉट chgrp कमांड के उपयोग को दर्शाता है।
टिप
- /etc/group फ़ाइल में सिस्टम पर परिभाषित सभी समूह शामिल होते हैं।
- आप नीचे दिखाए गए तरीके से "groups" कमांड का उपयोग करके उन सभी समूहों को ढूंढ सकते हैं जिनके आप सदस्य हैं।
- आप नीचे दिखाए गए अनुसार, अपने डिफ़ॉल्ट समूह के अलावा किसी अन्य समूह के सदस्य के रूप में काम करने के लिए newgrp कमांड का उपयोग कर सकते हैं।
- एक ही फ़ाइल का स्वामित्व दो समूहों के पास नहीं हो सकता।
- लिनक्स में नेस्टेड ग्रुप नहीं हो सकते। एक ग्रुप दूसरे ग्रुप का सब-ग्रुप नहीं हो सकता।
- x — किसी डायरेक्टरी को एक्जीक्यूट करने का मतलब है किसी डायरेक्टरी में "प्रवेश" करने और सब-डायरेक्ट्री तक संभावित पहुंच प्राप्त करने की अनुमति होना।
- फाइलों और डायरेक्टरी पर आप अन्य अनुमतियां भी सेट कर सकते हैं, जिन्हें बाद में एक उन्नत ट्यूटोरियल में कवर किया जाएगा।







.png)
.png)
.png)
.png)
.png)


