यदि आप एक Linux उपयोगकर्ता हैं या एक Linux सर्वर का प्रबंधन करने वाले सिस्टम व्यवस्थापक हैं, तो आप "आपके पास फ़ोल्डर में फ़ाइल अपलोड करने की अनुमति नहीं है" त्रुटि का सामना करेंगे। कुछ Googling के बाद, समाधान अक्सर फ़ाइल अनुमति को "775" या "777" पर सेट करने जितना आसान होता है। तकनीकी शब्दों में, आपसे "फ़ाइल को chmod 777" करने के लिए कहा जाएगा। लेकिन "777" का क्या मतलब है? और यह "7" क्यों होना चाहिए न कि "8" या "9"?
इस पोस्ट में, हम आपको दिखाते हैं कि फ़ाइल अनुमतियों को थोड़ा बेहतर तरीके से कैसे समझा जाए, जिसमें chmod 777 का अर्थ भी शामिल है।
फ़ाइल अनुमतियों को समझना
यूनिक्स सिस्टम (लिनक्स और मैकओएस सहित) में एक फाइल कंट्रोल मैकेनिज्म होता है जो यह निर्धारित करता है कि कौन किसी विशेष फाइल या फोल्डर को एक्सेस कर सकता है और वे इसके साथ क्या कर सकते हैं।
विचार करने के लिए दो भाग हैं:
कक्षाएं। यह निर्धारित करता है कि फ़ाइल तक कौन पहुंच सकता है। तीन पदनाम हैं:एक मालिक, एक समूह (जो सभी समान अनुमतियां साझा करते हैं), और अन्य।
- स्वामी आमतौर पर फ़ाइल या फ़ोल्डर का निर्माता होता है। Linux में, आपके द्वारा अपनी होम निर्देशिका में बनाई गई कोई भी फ़ाइल या फ़ोल्डर आमतौर पर आपके स्वामित्व में होते हैं, जब तक कि आप विशेष रूप से स्वामित्व नहीं बदलते।
- समूह में उपयोगकर्ताओं का एक समूह होता है जो समान अनुमतियां और उपयोगकर्ता विशेषाधिकार साझा करते हैं।
- दूसरों का मतलब आम जनता है।
अनुमतियां। ये निर्धारित करते हैं कि उपयोगकर्ता किसी फ़ाइल के साथ क्या कर सकता है। आप किसी फ़ाइल को पढ़ सकते हैं, लिख सकते हैं या निष्पादित कर सकते हैं, और आप इन तीन अनुमतियों के लगभग किसी भी संयोजन को सेट करने में सक्षम हैं।
- पढ़ें। आप किसी भी तरह से फ़ाइल की सामग्री को संशोधित नहीं कर सकते। जब किसी फ़ोल्डर पर लागू किया जाता है, तो आप केवल उस फ़ोल्डर में फ़ाइलें देख सकते हैं; आप फ़ाइलों को किसी भी तरह से हटा या संशोधित नहीं कर सकते हैं या फ़ोल्डर में अधिक फ़ाइलें नहीं जोड़ सकते हैं।
- लिखें। आप फ़ाइल को संशोधित कर सकते हैं। यदि आपके पास किसी फ़ोल्डर में "लिखने" की पहुंच है, तो आप उस फ़ोल्डर में फ़ाइलों को हटा और जोड़ सकते हैं।
- निष्पादित करें। Execute का उपयोग मुख्य रूप से तब किया जाता है जब आपको फ़ाइल को चलाने की आवश्यकता होती है और आमतौर पर इसका उपयोग तब किया जाता है जब आपको किसी स्क्रिप्ट को चलाने की आवश्यकता होती है।
अनुमतियों के संयोजन में कक्षाओं का उपयोग करके, आप नियंत्रित कर सकते हैं कि किसके पास फ़ाइल तक पहुंच है और वे जो कार्य कर सकते हैं।
फ़ाइल स्वामी के पास अक्सर उनके लिए सभी तीन अनुमतियाँ उपलब्ध होंगी (पढ़ें, लिखें और निष्पादित करें)। यदि आप सर्वर पर फ़ाइल अपलोड करने में असमर्थ हैं, तो यह अक्सर मेल न खाने वाली अनुमतियों के कारण होता है।
फ़ाइल अनुमति 777 की व्याख्या करना
एक बार जब आप कक्षाओं और अनुमतियों की बुनियादी समझ प्राप्त कर लेते हैं, तो आप "777" और "775" जैसी संख्याओं को समझना शुरू कर सकते हैं।
प्रत्येक फ़ाइल और फ़ोल्डर में 8-बिट डेटा होता है जो अनुमतियों को नियंत्रित करता है। अपने मूल बाइनरी फॉर्म में, 000 का मतलब है कि किसी भी फॉर्म की अनुमति नहीं दी जाती है।
जब आप "पढ़ें" अनुमति सेट करते हैं, तो यह डेटा में 4-बिट जोड़ता है, जिससे इसे "100" (बाइनरी प्रारूप में) या सामान्य दशमलव प्रारूप में "4" बना दिया जाता है। "लिखें" अनुमति सेट करने से डेटा में 2-बिट जुड़ जाएगा, जिससे यह "010" और "2" दशमलव रूप में हो जाएगा। अंत में, "निष्पादन" अनुमति सेट करना डेटा में 1-बिट जोड़ता है, जिसके परिणामस्वरूप दशमलव रूप में "001," या "1" होगा। संक्षेप में:
- पढ़ना "4." के बराबर है
- लिखना "2." के बराबर है
- निष्पादन "1." के बराबर है
संक्षेप में, अनुमतियाँ सेट करना बुनियादी गणित है। उदाहरण के लिए, "पढ़ें और लिखें" अनुमतियां सेट करने के लिए, हम 6 प्राप्त करने के लिए 4 और 2 को मिलाते हैं। बेशक, अन्य क्रमपरिवर्तन भी हैं:
- 0: कोई अनुमति नहीं
- 1: निष्पादित करें
- 2: लिखें
- 3: लिखें और निष्पादित करें
- 4: पढ़ें
- 5: पढ़ें और निष्पादित करें
- 6: पढ़ें और लिखें
- 7: पढ़ें, लिखें, और निष्पादित करें
फ़ाइल अनुमतियों का एक पूरा सेट मालिक को पहला अंक, समूह को दूसरा अंक, और तीसरा अन्य को असाइन करता है। यहां आमतौर पर उपयोग की जाने वाली कुछ अनुमतियां दी गई हैं:
- 755 . अनुमतियों का यह सेट आमतौर पर वेब सर्वर द्वारा उपयोग किया जाता है। स्वामी के पास पढ़ने, लिखने और निष्पादित करने की सभी अनुमतियाँ हैं। बाकी सभी लोग पढ़ सकते हैं और निष्पादित कर सकते हैं लेकिन फ़ाइल में परिवर्तन नहीं कर सकते।
- 644 . केवल मालिक ही पढ़ और लिख सकता है। बाकी सब केवल पढ़ सकते हैं। इस फ़ाइल को कोई भी निष्पादित नहीं कर सकता है।
- 655 . केवल स्वामी ही पढ़ और लिख सकता है और फ़ाइल को निष्पादित नहीं कर सकता। बाकी सभी लोग पढ़ सकते हैं और निष्पादित कर सकते हैं और फ़ाइल को संशोधित नहीं कर सकते हैं।
777 के लिए, इसका मतलब है कि प्रत्येक उपयोगकर्ता पढ़, लिख सकता है और निष्पादित कर सकता है। क्योंकि यह पूर्ण अनुमति देता है, इसका उपयोग सावधानी से किया जाना चाहिए। हालांकि, कुछ मामलों में, सर्वर पर कोई फ़ाइल अपलोड करने से पहले आपको 777 अनुमतियां सेट करनी होंगी।
कमांड लाइन में फ़ाइल अनुमतियां सेट करना
लिनक्स में, आप फ़ाइल या फ़ोल्डर पर राइट-क्लिक करके और "गुण" का चयन करके फ़ाइल अनुमतियों को आसानी से बदल सकते हैं। यह एक अनुमति टैब खोलेगा जहाँ आप परिवर्तन कर सकते हैं।
इसके विपरीत, आप macOS पर राइट-क्लिक करके और "जानकारी प्राप्त करें" का चयन करके अनुमति सेटिंग्स बदल सकते हैं। यहां, आप "साझाकरण और अनुमतियां" अनुभाग का विस्तार कर सकते हैं और अपने परिवर्तन कर सकते हैं।
संशोधन करने के लिए, विशेषाधिकार अनुभाग से प्रासंगिक अनुमतियों का चयन करें और कुछ अधिक उपयुक्त चुनें।
हालाँकि, यह एकमात्र तरीका नहीं है जिससे आप फ़ाइल अनुमतियाँ बदल सकते हैं। आइए इसे आगे और विस्तार से समझाएं।
chmod 777 का उपयोग करके फ़ाइल अनुमतियां बदलना
यदि आप टर्मिनल और कमांड लाइन से अधिक परिचित हैं, तो आप यहां भी अनुमतियां बदल सकते हैं।
chmod
कमांड आपको "मोड बदलने" की सुविधा देता है - एक्सेस अनुमतियों का वर्णन करने का एक और तरीका। ऐसा करने के लिए, टर्मिनल खोलें और निम्नलिखित टाइप करें:
chmod 777 /path/to/file
संक्षेप में, chmod 777
इस पूरे लेख में हमने जिन दो अवधारणाओं को प्रस्तुत किया है, उन्हें जोड़ती है। इसका मतलब है कि फ़ाइल को सभी के लिए पठनीय, लिखने योग्य और निष्पादन योग्य बनाना है। जैसे, यह एक शक्तिशाली और संभावित सिस्टम-ब्रेकर है - इसलिए इसके साथ अतिरिक्त देखभाल की जानी चाहिए।
सारांश में
फ़ाइल अनुमतियाँ आपको एक रोडब्लॉक के साथ प्रस्तुत कर सकती हैं यदि वे सही तरीके से सेट नहीं हैं। यह डिज़ाइन द्वारा है, क्योंकि लॉक डाउन सिस्टम से समझौता नहीं किया जा सकता है। हालांकि, अगर आप अपने सिस्टम या सर्वर पर किसी फ़ाइल को एक्सेस करना चाहते हैं, तो कुछ अनुमतियों को बदलना सीखना एक ठोस कौशल है।
संक्षेप में, chmod 777 वह कमांड है जिसका उपयोग आप किसी फ़ाइल या फ़ोल्डर को सभी के लिए सुलभ बनाने के लिए टर्मिनल के भीतर करेंगे। आपको इसे दुर्लभ अवसरों पर उपयोग करना चाहिए और एक बार काम पूरा करने के बाद अनुमतियों के अधिक प्रतिबंधात्मक सेट पर वापस जाना चाहिए।
यदि आप सोच रहे हैं कि टर्मिनल और क्या कर सकता है, तो कमांड लाइन से कॉपी और पेस्ट करने के तरीके के बारे में हमारी पोस्ट देखें। क्या आपको फ़ाइल अनुमतियों का प्रबंधन करना है, और क्या यह पोस्ट आपकी मदद करेगी? हमें नीचे टिप्पणी अनुभाग में बताएं!