Linux सर्वर पर फ़ाइल और फ़ोल्डर अनुमतियों को कैसे नियंत्रित करें

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

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

Linux सर्वर पर फ़ाइल और फ़ोल्डर अनुमतियों को नियंत्रित करें

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

चामोद कमांड क्या है और इसके लिए क्या है?

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

chmod का उपयोग करने का सिंटैक्स इस प्रकार है:

chmod [संशोधक] फ़ाइल / निर्देशिका अनुमतियाँ

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

एक बहुत ही महत्वपूर्ण विवरण यह है कि कुछ मामलों में सुपरसुसर अनुमतियों के साथ chmod चलाना नितांत आवश्यक है, क्योंकि केवल ऑपरेटिंग सिस्टम का व्यवस्थापक उपयोगकर्ता ही अनुमतियों को बदल सकता है। इसे रूट के रूप में लॉग इन करके, या सीधे लोकप्रिय "सुडो" कमांड का उपयोग करके सुपरयूजर को अस्थायी रूप से बढ़ावा देने के लिए कमांड के साथ प्राप्त किया जा सकता है।

अनुमतियाँ बदलने के लिए chmod का उपयोग करने के उदाहरण

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

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

परीक्षण के लिए हमारे सिस्टम को तैयार करना

पहली बात हम करने जा रहे हैं प्रत्येक उपयोगकर्ता की वर्तमान निर्देशिका में एक फ़ोल्डर बनाएँ , आमतौर पर / घर / उपयोगकर्ता नाम में स्थित होता है।

mkdir Carpetathis article

बाद में, हम इस फोल्डर में चले जाएंगे और एक फाइल तैयार करेंगे:

cd Carpetathis article

टच टेस्टफाइल

समाप्त करने के लिए हम अपने द्वारा बनाए गए फ़ोल्डर को समतल करने और बाहर निकलने के लिए निम्न कमांड लिखेंगे:

cd ..

इसके साथ, हमारा सिस्टम अनुमति परिवर्तनों का परीक्षण शुरू करने के लिए तैयार है।

फ़ाइलों और फ़ोल्डरों के बारे में जानकारी प्राप्त करें

यदि हम मौजूदा फाइलों को किसी फोल्डर में सूचीबद्ध करना चाहते हैं तो हमें केवल निम्नलिखित कमांड लिखनी होगी:

ls

इससे हमें केवल उन फाइलों या फोल्डरों का नाम मिलता है, जहां हम रास्ते में हैं। अधिक विवरण प्राप्त करने के लिए हमें निम्नलिखित लिखना होगा:

ls -l

हमने इस कमांड को अपने सर्वर पर निष्पादित किया है, यहां आप देख सकते हैं कि आउटपुट कैसा दिखता है:

यह आदेश निम्नलिखित जानकारी प्रदान करता है (बाएं से दाएं क्रम में):

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

एक बार जब हम फ़ोल्डर और फाइलें बना लेते हैं, साथ ही साथ हमने «ls -l» कमांड का आउटपुट देखा है, तो हम उन अनुमतियों की व्याख्या करने जा रहे हैं जो फाइलों या फ़ोल्डरों के पास हैं।

किसी फ़ाइल या फ़ोल्डर में मौजूद अनुमतियों की व्याख्या करें

आपने पहले देखा है कि विभिन्न फाइलों में ये अनुमतियां हैं:

drwxr-xr-x 3 bron bron 4096 may 6 13:19 Descargas

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

ओटोर्गर-परमिसोस-फिचेरो-ओ-कारपेटा-लिनक्स

पिछले उदाहरण में, हमारे पास "drwxr-xr-x" अनुमतियां हैं, इसका अर्थ निम्न है:

  • डी: निर्देशिका
  • rwx: निर्देशिका के स्वामी के लिए अनुमतियाँ पढ़ें, लिखें और निष्पादित करें।
  • rx: उस समूह के लिए अनुमतियाँ पढ़ें और निष्पादित करें जो निर्देशिका का स्वामी है।
  • rx: निर्देशिका में अन्य लोगों के लिए अनुमतियाँ पढ़ें और निष्पादित करें।

यदि हम चाहते हैं कि केवल स्वामी उपयोगकर्ता किसी निश्चित फ़ाइल को पढ़ने, लिखने और निष्पादित करने में सक्षम हो, तो हमें निम्नलिखित देखना होगा:

-rwx------

अर्थात्, हम निम्नलिखित भूमिकाओं को अनुमति प्रदान कर सकते हैं:

  • मालिक उपयोगकर्ता।
  • वह समूह जिससे स्वामी संबंधित है
  • टीम के बाकी उपयोगकर्ता।

फ़ाइल और फ़ोल्डर अनुमतियों को कैसे बदलें

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

पत्र

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

भूमिकाएँ तीन प्रकार की होती हैं:

  • आप: उपयोगकर्ता
  • जी: समूह
  • या: अन्य
  • ए: सभी (सभी), यदि आपको उपयोगकर्ता, समूहों और अन्य लोगों के लिए समान अनुमति लागू करने की आवश्यकता है, तो समय बचाने के लिए "ए" का उपयोग करें।

दो प्रकार के प्रतीक:

  • +: अनुमतियाँ जोड़ें
  • -: अनुमतियां हटाएं
  • =: अनुमतियाँ सेट निर्दिष्ट करता है।

तीन प्रकार के परमिट:

  • आर: पढ़ना
  • डब्ल्यू: लेखन
  • एक्स: निष्पादन

इसके बाद, हम आपको उदाहरणों की एक श्रृंखला प्रदान करते हैं ताकि आप देख सकें कि हम किस बारे में बात कर रहे हैं:

उपयोगकर्ता, समूह और अन्य सभी भूमिकाओं को पूरा पढ़ने, लिखने और निष्पादित करने की अनुमति दें:

chmod ugo+rwx archivoDePrueba

अन्य उपयोगकर्ताओं से पढ़ने, लिखने और निष्पादित करने की अनुमतियाँ निकालें:

chmod o-rwx archivoDePrueba

अंत में, हमारी जरूरत के आधार पर भूमिकाओं, प्रतीकों और अनुमतियों के संयोजन में सब कुछ निहित है।

ऑक्टल आधारित संख्याओं का प्रयोग

RSI परिवर्तन विद्या कमांड एक अन्य नामकरण के साथ भी संगत है जो हम आपको सिखाने जा रहे हैं और यह ऑक्टल पर आधारित है।

कल्पना कीजिए कि स्वामी की अनुमतियाँ (rwx) 0 और 1 द्वारा पहचानी जाती हैं। उदाहरण के लिए, यदि हम केवल पढ़ने और लिखने की अनुमति देना चाहते हैं (और अनुमतियाँ निष्पादित नहीं करना चाहते हैं) तो यह होगा: 110। यदि हम केवल पढ़ने की अनुमति चाहते हैं तो यह होगा होना: 100.

इसलिए, सभी मौजूदा संभावनाओं को ध्यान में रखते हुए, हम निम्नलिखित मान प्राप्त करते हैं:

  • १ १ १ १: १०
  • १ १ १ १: १०
  • १ १ १ १: १०
  • १ १ १ १: १०
  • १ १ १ १: १०
  • १ १ १ १: १०
  • १ १ १ १: १०
  • १ १ १ १: १०

यही है, यह कुछ ऐसा है जिसे उपयोगकर्ता, समूह और अन्य दोनों के लिए एक्सट्रपलेशन किया जा सकता है।

कमांड का प्रारूप निम्नलिखित होगा:

chmod xxx archivoDePrueba

जहां x को असाइन की गई अनुमतियों के आधार पर एक संख्या में बदल दिया जाएगा।

उदाहरण के लिए, यदि हम मालिक को पूर्ण अनुमति देना चाहते हैं और अन्य दो भूमिकाओं (समूह और अन्य) को बिना किसी अनुमति के छोड़ना चाहते हैं, तो आदेश होगा:

chmod 700 archivoDePrueba

यदि हम सभी भूमिकाओं को पढ़ने और लिखने की अनुमति देना चाहते हैं तो यह होगा:

chmod 666 archivoDePrueba

इन दो सरल तरीकों से हम अपने Linux कंप्यूटर पर फ़ाइल और फ़ोल्डर अनुमतियाँ सेट कर सकते हैं। इसके अलावा, सिस्टम पर फाइलों और फ़ोल्डरों पर रीयल-टाइम जानकारी प्राप्त करने के लिए हमारे पास हमारी उंगलियों पर ls -l कमांड होगा। हम अनुशंसा करते हैं कि आप लिनक्स के लिए आधिकारिक chmod मैनुअल देखें, इसके लिए, हम कंसोल पर निम्नलिखित को निष्पादित करेंगे:

man chmod

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