लिनक्स फ़ाइल अनुमतियां कैसे काम करती हैं?

विषयसूची:

लिनक्स फ़ाइल अनुमतियां कैसे काम करती हैं?
लिनक्स फ़ाइल अनुमतियां कैसे काम करती हैं?

वीडियो: लिनक्स फ़ाइल अनुमतियां कैसे काम करती हैं?

वीडियो: लिनक्स फ़ाइल अनुमतियां कैसे काम करती हैं?
वीडियो: Virtual Machines explained in 15 Mins - YouTube 2024, मई
Anonim
यदि आप कुछ समय के लिए लिनक्स का उपयोग कर रहे हैं (और यहां तक कि ओएस एक्स) तो आप शायद "अनुमतियां" त्रुटि में आ जाएंगे। लेकिन वे वास्तव में क्या हैं, और वे आवश्यक या उपयोगी क्यों हैं? आइए अंदर एक नज़र डालें।
यदि आप कुछ समय के लिए लिनक्स का उपयोग कर रहे हैं (और यहां तक कि ओएस एक्स) तो आप शायद "अनुमतियां" त्रुटि में आ जाएंगे। लेकिन वे वास्तव में क्या हैं, और वे आवश्यक या उपयोगी क्यों हैं? आइए अंदर एक नज़र डालें।

उपयोगकर्ता अनुमतियां

दिन में, कंप्यूटर भारी मशीनें थीं जो अविश्वसनीय रूप से महंगी थीं। उनमें से अधिक से अधिक बनाने के लिए, कई कंप्यूटर टर्मिनलों को झुकाया गया था जिससे कई उपयोगकर्ताओं को एक साथ अपने व्यापार के बारे में जाने की इजाजत मिली। डेटा प्रोसेसिंग और स्टोरेज मशीन पर किया गया था, जबकि टर्मिनल खुद को डेटा देखने और इनपुट करने के साधनों से थोड़ा अधिक थे। यदि आप इसके बारे में सोचते हैं, तो यह बहुत अधिक है कि हम "क्लाउड" पर डेटा तक कैसे पहुंचते हैं; अमेज़ॅन के क्लाउड एमपी 3 सिस्टम, जीमेल, और ड्रॉपबॉक्स को देखें, और आप देखेंगे कि परिवर्तन स्थानीय रूप से किए जा सकते हैं, सबकुछ दूरस्थ रूप से संग्रहीत किया जाता है।

(छवि: जेनिथ जेड -19 "गूंगा" टर्मिनल; क्रेडिट: अजमेक्सिको)
(छवि: जेनिथ जेड -19 "गूंगा" टर्मिनल; क्रेडिट: अजमेक्सिको)

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

फ़ाइल एक्सेस

इस निराला बहु-उपयोगकर्ता की दुनिया में, हम पहले ही सीमाएं स्थापित कर चुके हैं कि उपयोगकर्ता क्या कर सकते हैं। लेकिन वे क्या पहुंचते हैं इसके बारे में क्या? खैर, प्रत्येक फ़ाइल में अनुमतियों और मालिक का एक सेट होता है। स्वामी पदनाम, आमतौर पर फ़ाइल बनाते समय बाध्य होता है, यह घोषित करता है कि यह किस उपयोगकर्ता से संबंधित है, और केवल वह उपयोगकर्ता ही इसकी एक्सेस अनुमतियों को बदल सकता है।
इस निराला बहु-उपयोगकर्ता की दुनिया में, हम पहले ही सीमाएं स्थापित कर चुके हैं कि उपयोगकर्ता क्या कर सकते हैं। लेकिन वे क्या पहुंचते हैं इसके बारे में क्या? खैर, प्रत्येक फ़ाइल में अनुमतियों और मालिक का एक सेट होता है। स्वामी पदनाम, आमतौर पर फ़ाइल बनाते समय बाध्य होता है, यह घोषित करता है कि यह किस उपयोगकर्ता से संबंधित है, और केवल वह उपयोगकर्ता ही इसकी एक्सेस अनुमतियों को बदल सकता है।

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

Image
Image

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

उबंटू में अनुमतियां बदलना

जीयूआई

उबंटू में आपके पास मौजूद फ़ाइल की अनुमतियों को बदलने के लिए, बस फ़ाइल पर राइट-क्लिक करें और "गुण" पर जाएं।

आप बदल सकते हैं कि मालिक, समूह, या अन्य पढ़ सकते हैं और लिख सकते हैं, केवल पढ़ सकते हैं, या कुछ भी नहीं कर सकते हैं। आप फ़ाइल के निष्पादन की अनुमति देने के लिए एक बॉक्स भी चेक कर सकते हैं, और यह इसे मालिक, समूह और अन्य लोगों के साथ एक साथ सक्षम कर देगा।
आप बदल सकते हैं कि मालिक, समूह, या अन्य पढ़ सकते हैं और लिख सकते हैं, केवल पढ़ सकते हैं, या कुछ भी नहीं कर सकते हैं। आप फ़ाइल के निष्पादन की अनुमति देने के लिए एक बॉक्स भी चेक कर सकते हैं, और यह इसे मालिक, समूह और अन्य लोगों के साथ एक साथ सक्षम कर देगा।

कमांड लाइन

आप इसे कमांड लाइन के माध्यम से भी कर सकते हैं। उस निर्देशिका में जाएं जिसमें फाइलें हैं और सूची में सभी फ़ाइलों को देखने के लिए निम्न आदेश टाइप करें:

ls -al

प्रत्येक फ़ाइल और निर्देशिका के आगे, आपको एक विशेष अनुभाग दिखाई देगा जो इसकी अनुमतियों को रेखांकित करता है। यह इस तरह दिख रहा है:
प्रत्येक फ़ाइल और निर्देशिका के आगे, आपको एक विशेष अनुभाग दिखाई देगा जो इसकी अनुमतियों को रेखांकित करता है। यह इस तरह दिख रहा है:

-rwxrw-r–

आर "पढ़ने के लिए खड़ा है," w "लिखना," और के लिए खड़ा है एक्स "निष्पादित" के लिए खड़ा है। निर्देशिकाएं "-" के बजाय "डी" से शुरू होंगी। आप यह भी देखेंगे कि 10 रिक्त स्थान हैं जो मूल्य रखते हैं। आप पहले अनदेखा कर सकते हैं, और फिर 3 के 3 सेट हैं। पहला सेट मालिक के लिए है, दूसरा सेट समूह के लिए है, और अंतिम सेट दुनिया के लिए है।

फ़ाइल या निर्देशिका की अनुमतियों को बदलने के लिए, चलो chmod कमांड के मूल रूप को देखें।

chmod [class][operator][permission] file

chmod [ugoa][+ or –] [rwx] file

यह पहली बार जटिल लग सकता है, लेकिन मेरा विश्वास करो, यह बहुत आसान है। सबसे पहले, कक्षाओं को देखें:

  • यू: यह मालिक के लिए है।
  • जी: यह समूह के लिए है।
  • ओ: यह सभी दूसरों के लिए है।
  • ए: यह उपरोक्त सभी के लिए अनुमतियों को बदल देगा।

अगला, ऑपरेटर:

  • +: प्लस साइन अनुवर्ती अनुमतियों को जोड़ देगा।
  • -: ऋण चिह्न अनुवर्ती अनुमतियों को हटा देगा।

अभी तक मेरे साथ है? और अंतिम खंड वही है जब हमने फ़ाइल की अनुमतियों की जांच की थी:

  • आर: पढ़ने की अनुमति देता है।
  • डब्ल्यू: लेखन पहुंच की अनुमति देता है।
  • एक्स: निष्पादन की अनुमति देता है।

अब, चलो इसे एक साथ रखो। आइए मान लें कि हमारे पास "todo.txt" नाम की एक फ़ाइल है जिसमें निम्नलिखित अनुमतियां हैं:

-rw-rw-r–

यही है, मालिक और समूह पढ़ और लिख सकते हैं, और दुनिया केवल पढ़ सकते हैं। हम इन पर अनुमतियां बदलना चाहते हैं:

-rwxr-–

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

chmod u+x todo.txt

फिर, हम समूह के लिए लेखन अनुमति हटा देंगे।

chmod g-w todo.txt

अंत में, हम अन्य सभी उपयोगकर्ताओं के लिए पढ़ने की अनुमति हटा देंगे।

chmod o-r todo.txt

हम इन्हें एक कमांड में भी जोड़ सकते हैं, जैसे:

chmod u+x,g-w,o-r todo.txt

आप देख सकते हैं कि प्रत्येक अनुभाग अल्पविराम से अलग होता है और कोई स्थान नहीं होता है।
आप देख सकते हैं कि प्रत्येक अनुभाग अल्पविराम से अलग होता है और कोई स्थान नहीं होता है।

यहां कुछ उपयोगी अनुमतियां दी गई हैं:

  • -rwxr-xr-x: मालिक के पास पूर्ण अनुमतियां हैं, समूह और अन्य उपयोगकर्ता फ़ाइल सामग्री पढ़ सकते हैं और निष्पादित कर सकते हैं।
  • -rwxr-r-: मालिक के पास पूर्ण अनुमतियां हैं, समूह और अन्य उपयोगकर्ता केवल फ़ाइल पढ़ सकते हैं (उपयोगी अगर आप दूसरों को अपनी फाइलें देखने पर ध्यान नहीं देते हैं।
  • -rwx--: मालिक की पूर्ण अनुमतियां हैं, अन्य सभी के पास कोई नहीं है (व्यक्तिगत स्क्रिप्ट के लिए उपयोगी)।
  • -आरडब्ल्यू-आरडब्ल्यू--: मालिक और समूह पढ़ और लिख सकते हैं (समूह के सदस्यों के सहयोग के लिए उपयोगी)।
  • -आरडब्ल्यू-आर-आर-: मालिक पढ़ और लिख सकता है, समूह और अन्य उपयोगकर्ता केवल फाइल पढ़ सकते हैं (साझा नेटवर्क पर व्यक्तिगत फाइलों को संग्रहीत करने के लिए उपयोगी)।
  • -आरडब्ल्यू ---: मालिक पढ़ और लिख सकता है, अन्य सभी के पास कोई नहीं है (व्यक्तिगत फाइलों को संग्रहित करने के लिए उपयोगी)।

कुछ अन्य चीजें हैं जो आप chmod - setuid और setgid के साथ कर सकते हैं - लेकिन वे थोड़ी गहराई से हैं और अधिकांश उपयोगकर्ताओं को वास्तव में उन्हें उपयोग करने की आवश्यकता नहीं होगी।

रूट या सुपर-उपयोगकर्ता और सिस्टम फ़ाइलें

आजकल, हम हमेशा ऐसे सिस्टम नहीं चलाते हैं जिनमें एकाधिक उपयोगकर्ता हैं। हमें अभी भी अनुमतियों के बारे में चिंता क्यों करनी चाहिए?
आजकल, हम हमेशा ऐसे सिस्टम नहीं चलाते हैं जिनमें एकाधिक उपयोगकर्ता हैं। हमें अभी भी अनुमतियों के बारे में चिंता क्यों करनी चाहिए?

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

उबंटू में, सिस्टम फ़ाइलों में परिवर्तन करने के लिए आप प्रशासक विशेषाधिकारों के बराबर प्राप्त करने के लिए "सुडो" या "gksudo" का उपयोग करते हैं। अन्य distros में, आप "रूट" या "सुपर-उपयोगकर्ता" पर स्विच करते हैं जो तब तक प्रभावी रूप से वही काम करता है जब तक आप लॉग आउट नहीं करते।

ध्यान रखें कि इन दोनों परिस्थितियों में, फ़ाइल अनुमतियों को बदलने से प्रोग्राम्स काम नहीं कर सकते हैं, अनजाने में रूट उपयोगकर्ता (मालिक के बजाए) फ़ाइल स्वामित्व बदल रहा है, और सिस्टम को कम सुरक्षित बना रहा है (अधिक अनुमति देकर)। इस प्रकार, यह अनुशंसा की जाती है कि आप फ़ाइलों के लिए अनुमतियां न बदलें - विशेष रूप से सिस्टम फाइलें - जब तक कि यह आवश्यक न हो या आप जानते हों कि आप क्या कर रहे हैं।

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

लगता है कि आप चीजों को आसान समझ सकते हैं? एक सुधार है? पुराने दिनों के बारे में याद दिलाना चाहते हैं? ब्रेक लें और टिप्पणियों में अपने विचार डालें।

सिफारिश की: