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