यदि आप एक नए लिनक्स उपयोगकर्ता हैं, तो आप शायद चमोड कमांड का सामना किसी बिंदु पर जल्दी करते हैं। शायद किसी ने आपको एक फाइल को एक निश्चित फोल्डर में ले जाने के लिए "chmod 777" करने के लिए कहा, और यह काम कर गया! तो चमोड कमांड क्या करता है और संख्याओं का क्या मतलब है?
यह लेख लिनक्स फाइल अनुमतियों के बारे में आपको जो कुछ भी जानने की जरूरत है, उस पर चर्चा करेगा। चमोड कमांड और उन संख्याओं को समझना महत्वपूर्ण है जो कुछ एक्सेस स्तरों से मेल खाती हैं। चाहे आप उबंटू, फेडोरा, या एक अधिक विदेशी लिनक्स डिस्ट्रो का उपयोग करें, आपको यह समझना चाहिए कि CHMOD कमांड का उपयोग करके अनुमतियों को 777 पर सेट करना कब ठीक है और कब आपको एक अलग सेटिंग का उपयोग करना चाहिए।
लिनक्स में, ऑपरेटिंग सिस्टम फाइल अनुमति, स्वामित्व और विशेषताओं के आधार पर निर्धारित करता है कि कौन सी फाइल तक पहुंच सकता है। सिस्टम आपको, मालिक या एडमिन को, विभिन्न फाइलों और डायरेक्टरी तक पहुंच प्रतिबंधों को सक्षम करने की अनुमति देता है। आप अपने सिस्टम की सुरक्षा में सुधार कर सकते हैं केवल उन उपयोगकर्ताओं और प्रोग्रामों को एक्सेस देकर जिन पर आप भरोसा करते हैं।
उपयोगकर्ता वर्गों को समझना
एक विशिष्ट उपयोगकर्ता और एक समूह हर एक फाइल और डायरेक्टरी का मालिक होता है। इसका मतलब है कि उपयोगकर्ताओं की तीन श्रेणियां हैं जिन्हें आप एक निश्चित स्तर की पहुंच निर्दिष्ट कर सकते हैं। इन उपयोगकर्ताओं को इस प्रकार वर्गीकृत किया जाता है:
- मालिक (Owner)
- समूह (Group)
- अन्य (Others)
आप उबंटू में किसी भी डायरेक्टरी पर राइट-क्लिक करके, Properties (गुण) चुनकर, और Permissions (अनुमतियां) टैब पर जाकर इन समूहों को दृश्य रूप से देख सकते हैं।
मालिक वह व्यक्ति है जिसके पास सभी शक्ति होती है। आमतौर पर, उनके पास हर फाइल और डायरेक्टरी तक पूर्ण पहुंच होती है और वे अन्य उपयोगकर्ताओं की फाइल अनुमतियों को भी बदल सकते हैं।
समूह में कई उपयोगकर्ता होते हैं जिनके पास मालिक द्वारा दी गई फाइल या डायरेक्टरी तक एक निश्चित स्तर की पहुंच होती है। उदाहरण के लिए, उपयोगकर्ताओं के एक समूह को एक फाइल को संशोधित करने से बाहर रखा जा सकता है जबकि उस फाइल को देखने की पहुंच दी जा सकती है।
अन्य वर्ग केवल उन अतिथि उपयोगकर्ताओं का प्रतिनिधित्व करता है जो अन्य दो श्रेणियों में नहीं आते। डिफ़ॉल्ट रूप से, उनकी पहुंच का स्तर आमतौर पर प्रतिबंधित होता है। यह मालिक पर निर्भर करता है कि अतिथि उपयोगकर्ता क्या कर सकते हैं या नहीं कर सकते।
फाइल अनुमति स्तरों को समझना
मालिक के रूप में आप अपनी फाइलों और डायरेक्टरी को पहुंच के तीन स्तर निर्दिष्ट कर सकते हैं:
- पढ़ें (Read): यह आपको एक फाइल या डायरेक्टरी तक सीमित पहुंच देता है। आप केवल फाइल पढ़ सकते हैं या डायरेक्टरी की सामग्री देख सकते हैं। आप फाइलों को संपादित नहीं कर सकते, और आप डायरेक्टरी से फाइलों को हटा या जोड़ नहीं सकते।
- लिखें (Write): यह आपको फाइलों को पढ़ने और संपादित करने देता है। यदि आप इस स्तर की पहुंच को एक डायरेक्टरी को निर्दिष्ट करते हैं, तो आप फाइलों को हटा या जोड़ भी सकते हैं।
- निष्पादित करें (Execute): यह केवल फाइलों को चलाने या निष्पादित करते समय महत्वपूर्ण होता है। उदाहरण के लिए, आप निष्पादित करने की अनुमति के बिना एक स्क्रिप्ट या प्रोग्राम नहीं चला सकते।
वर्गों और अनुमतियों को मिलाकर, आप नियंत्रित कर सकते हैं कि एक विशिष्ट उपयोगकर्ता की फाइल या डायरेक्टरी तक कितनी पहुंच है।
अनुमति प्रतीक और संख्याएं समझाई गईं
फाइल अनुमतियों को संख्यात्मक या प्रतीकात्मक रूप से दर्शाया जाता है। आप फाइल और डायरेक्टरी अनुमतियों को बदलने के लिए प्रतीकों और संख्याओं दोनों का उपयोग कर सकते हैं। सबसे आसान तरीका संख्याओं के साथ है, लेकिन आपको प्रतीकों को भी समझना चाहिए। तो आइए पहले फाइल अनुमतियों के पीछे के प्रतीकों पर एक नज़र डालें।
फाइल अनुमति प्रतीक
यदि आप टर्मिनल में निम्न कमांड टाइप करते हैं तो आप एक निश्चित डायरेक्टरी में सभी सामग्री के लिए अपनी अनुमतियां देख सकते हैं:
ls -l
आप cd कमांड का उपयोग करके किसी भी डायरेक्टरी में नेविगेट कर सकते हैं। यदि आप एक पूर्ण शुरुआती हैं, तो बुनियादी लिनक्स कमांड पर हमारा लेख देखें।
हमारे उदाहरण में, डायरेक्टरी में दो अन्य डायरेक्टरी और एक फाइल है। अनुमतियों को (1+) 9 प्रतीकों का उपयोग करके लिखा जाता है जिन्हें आसान समझ के लिए ट्रिपलेट में विभाजित किया जा सकता है। आइए Books डायरेक्टरी के लिए अनुमतियों के पहले सेट की जांच करें:
drwxrwxr-x
इसे पठनीयता के लिए विभाजित करते हैं:
d rwx rwx r-x
पहला प्रतीक d है, और यह डायरेक्टरी के लिए खड़ा है। यह एक डैश प्रतीक भी हो सकता है यदि यह एक फाइल है, जैसा कि आप Outline.docx फाइल के लिए अनुमतियों के तीसरे सेट में देख सकते हैं।
इसके बाद, हमारे पास प्रतीकों के तीन समूह हैं। पहला समूह मालिक के अनुमति स्तरों का प्रतिनिधित्व करता है, दूसरा समूह समूह वर्ग के लिए है, और तीसरा अन्य का प्रतिनिधित्व करता है।
प्रत्येक 3 प्रतीकों का सेट क्रमशः पढ़ें, लिखें, निष्पादित करें का अर्थ है। इसलिए मालिक के पास Test डायरेक्टरी के अंदर पाई जाने वाली सभी फाइलों और डायरेक्टरी को पढ़ने, लिखने और निष्पादित करने की अनुमति है। यहां एक दृश्य प्रतिनिधित्व है:
जब आप r, w, या x के बजाय एक डैश प्रतीक देखते हैं, तो इसका मतलब है कि वह अनुमति मौजूद नहीं है।
फाइल अनुमति संख्याएं
फाइल अनुमतियों के लिए संख्यात्मक प्रारूप सरल है। संक्षेप में, फाइल अनुमति कोड में तीन अंक होते हैं:
- पहला फाइल मालिक के लिए है।
- दूसरा फाइल के समूह का प्रतिनिधित्व करता है।
- अंतिम अंक बाकी सभी के लिए है।
अंक 0 से 7 तक होते हैं जहां:
- 4 = पढ़ें।
- 2 = लिखें।
- 1 = निष्पादित करें।
- 0 = कोई अनुमति नहीं।
प्रत्येक वर्ग का अनुमति अंक अनुमतियों के मूल्यों को जोड़कर निर्धारित किया जाता है। दूसरे शब्दों में, प्रत्येक वर्ग के लिए प्रत्येक अंक 4, 2, 1, और 0 का योग हो सकता है। यहां अनुमतियों की पूरी सूची है:
- 0 (0 + 0 + 0) = उपयोगकर्ता वर्ग के पास कोई अनुमति नहीं है।
- 1 (0 + 0 + 1) = केवल निष्पादित अनुमति।
- 2 (0 + 2 + 0) = केवल लिखें अनुमति।
- 3 (0 + 2 + 1) = लिखें और निष्पादित अनुमतियां।
- 4 (4 + 0 + 0) = केवल पढ़ें अनुमति।
- 5 (4 + 0 + 1) = पढ़ें और निष्पादित अनुमतियां।
- 6 (4 + 2 + 0) = पढ़ें और लिखें अनुमतियां।
- 7 (4 + 2 + 1) = सभी अनुमतियां।
उदाहरण के लिए, 644 अनुमति का अर्थ है कि फाइल मालिक के पास पढ़ने और लिखने की अनुमति है, जबकि अन्य दो वर्गों के पास केवल पढ़ने की अनुमति है। संख्या प्रारूप का उपयोग करके अनुमतियां सेट करने के लिए केवल बुनियादी गणित की आवश्यकता होती है।
अनुमति 777
जैसा कि आपने शायद पहले ही अनुमान लगा लिया है, 777 अनुमति सभी तीन उपयोगकर्ता वर्गों को पढ़ने, लिखने और निष्पादित करने की अनुमति देती है। दूसरे शब्दों में, जिनके पास आपके सिस्टम तक पहुंच है, वे फाइलों को पढ़, संशोधित और निष्पादित कर सकते हैं। इसका उपयोग केवल तब करें जब आप अपने सभी उपयोगकर्ताओं पर भरोसा करते हैं और सुरक्षा उल्लंघनों के बारे में चिंता करने की आवश्यकता नहीं है।
अनुमति 777 का अक्सर उपयोग किया जाता है क्योंकि यह सुविधाजनक है, लेकिन आपको इसका संयम से उपयोग करना चाहिए। वास्तव में, हम कभी भी इसका उपयोग न करने की सलाह देते हैं क्योंकि सुरक्षा जोखिम बहुत बड़े हैं। एक अनधिकृत उपयोगकर्ता आपके सिस्टम से समझौता कर सकता है या, उदाहरण के लिए, मैलवेयर वितरित करने के लिए आपकी वेबसाइट को बदल सकता है।
आपको इसके बजाय 755 अनुमति देनी चाहिए। इस तरह, फाइल मालिक के रूप में आपके पास एक निश्चित फाइल या डायरेक्टरी तक पूर्ण पहुंच है, जबकि बाकी सभी पढ़ और निष्पादित कर सकते हैं, लेकिन आपकी स्वीकृति के बिना कोई संशोधन नहीं कर सकते।
Chmod के साथ फाइल अनुमतियों को संशोधित करना
आप chmod कमांड की मदद से फाइल अनुमति बदल सकते हैं। किसी अन्य वेरिएबल के बिना इस कमांड का उपयोग करने का सबसे बुनियादी तरीका इस प्रकार है:
chmod 777 filename
"filename" को फाइल के नाम और उसके पथ से बदलें।
ध्यान रखें कि फाइल अनुमतियों को बदलने की शक्ति केवल रूट एक्सेस वाले उपयोगकर्ताओं, फाइल मालिकों, और sudo शक्तियों वाले किसी अन्य व्यक्ति के पास होती है।