Chmod अनुमतियाँ जनरेटर
| Type | Read (r) | Write (w) | Execute (x) | Octal |
|---|---|---|---|---|
| Owner (User) | 5 | |||
| Group | 5 | |||
| Others (World) | 5 |
chmod 755 filename
Linux फ़ाइल अनुमतियाँ (Chmod) क्यों महत्वपूर्ण हैं?
Linux या Unix सर्वर पर (जैसे Ubuntu, CentOS, Mac), प्रत्येक फ़ाइल या निर्देशिका (Directory) की अपनी एक सुरक्षा प्रणाली (Security System) होती है। यदि आप अपनी वेबसाइट की फ़ाइलों या शैल स्क्रिप्ट (Shell Script) को गलत अनुमति देते हैं (जैसे बहुत अधिक अनुमति '777'), तो हैकर्स आसानी से आपके सर्वर को नियंत्रित कर सकते हैं या दुर्भावनापूर्ण कोड डाल सकते हैं। इसके विपरीत, बहुत कम अनुमति देने पर आपका अपना वेब-सर्वर (Apache/Nginx) काम करना बंद कर सकता है। चूँकि अनुमतियों को ऑक्टल अंकों (Octal numbers जैसे 755) या प्रतीकात्मक अक्षरों (जैसे rwx) द्वारा कॉन्फ़िगर किया जाता है, जो भ्रमित करने वाला हो सकता है, यह टूल विज़ुअल चेकबॉक्स का उपयोग करके आपके लिए सटीक कमांड जनरेट करता है।
विज़ुअल अनुमति नियंत्रण
जटिल गणनाओं को भूल जाइए! बस यह तय करने के लिए चेकबॉक्स पर टिक करें कि कौन फ़ाइल को पढ़ (Read), लिख (Write), या चला (Execute) सकता है।
Bidirectional Sync
Type an octal value (like 755) and checkboxes update automatically, or vice versa
Ready Command Output
Generates the complete chmod command ready to paste directly into your terminal
अपने सर्वर की अनुमतियाँ (Permissions) कैसे कैल्क्युलेट करें?
मालिक (Owner) अनुमतियाँ सेट करें
तय करें कि जिस उपयोगकर्ता (User) ने फ़ाइल बनाई है, वह इसके साथ क्या कर सकता है। आम तौर पर, मालिक को हमेशा पढ़ने और लिखने (Read + Write) की अनुमति होती है।
समूह और सार्वजनिक सेट करें
तय करें कि समान सर्वर समूह (Group) के अन्य उपयोगकर्ता और पूरी दुनिया या इंटरनेट (Public) वेब फ़ाइल को देख (Read) और रिमोट के ज़रिये लिख सकते हैं या नहीं।
जनरेटेड कमान्ड कॉपी करें
जैसे ही आप बॉक्स चेक करते हैं, नीचे दिया गया आउटपुट बॉक्स स्वचालित रूप से अपडेट हो जाएगा। बस कमांड कॉपी करें और इसे अपने SSH टर्मिनल (Terminal) में दर्ज करें।
कुछ सामान्य (Common) Chmod अनुमतियों के उपयोग
755 - निष्पादन योग्य स्क्रिप्ट (Executable Scripts)
`chmod 755`: मालिक सब कुछ कर सकता है, लेकिन बाकी हर कोई केवल पढ़ और चला सकता है (लिख या बदल नहीं सकता)। शेल स्क्रिप्ट (.sh) या प्रोग्राम (Node, Python) चलाने के लिए आदर्श।
755 - वेब निर्देशिका (Web Directories)
`chmod 755`: वेबसाइट पर एक नया पब्लिक फ़ोल्डर या निर्देशिका बनाने के लिए मानक। यह Nginx या Apache सर्वर को फ़ोल्डर खोलने और अंदर की HTML फ़ाइलें परोसने की अनुमति देता है।
644 - वेब फ़ाइलें (Web Files)
`chmod 644`: सामान्य दस्तावेज़ों, HTML, CSS, या चित्र फ़ाइलों के लिए डिफ़ॉल्ट और सबसे सुरक्षित। केवल मालिक ही फ़ाइल संपादित कर सकता है, बाकी सब केवल पढ़ (देख) सकते हैं।
600 - निजी कुंजियाँ (Private Keys / SSH)
`chmod 600`: इसका मतलब है कि केवल और केवल मालिक ही इसे पढ़ और लिख सकता है, और कोई नहीं। SSH कुंजी (.pem) और गुप्त पासवर्ड फ़ाइलों के लिए आवश्यक।
Linux में फ़ाइल सुरक्षा (File Security) के लिए बेस्ट प्रैक्टिसेस
✓ कभी भी 'chmod 777' का उपयोग न करें
इंटरनेट पर मौजूद कुछ ट्यूटोरियल आपको 'Permission Denied' त्रुटि को ठीक करने के लिए chmod 777 सेट करने के लिए कहते हैं। यह आपकी फ़ाइल को पूरे इंटरनेट के लिए खुला (सार्वजनिक) छोड़ देता है जिससे कोई भी दुर्भावनापूर्ण व्यक्ति इसे आसानी से संशोधित (हैक) कर सकता है।
✓ निर्देशिकाओं (Directories) के लिए पुनरावर्ती (Recursive) मोड
यदि आप किसी निर्देशिका (फ़ोल्डर) और उसके अंदर की 'सभी' फ़ाइलों की अनुमतियाँ एक साथ बदलना चाहते हैं, तो टर्मिनल में आदेश देते समय `-R` ध्वज (Flag) का उपयोग करें (उदा: `chmod -R 755 folder_name`)।
✓ जब अनुमतियाँ न बदलें (Sudo)
यदि आप ऑक्टल कोड बना लेते हैं, लेकिन सर्वर टर्मिनल कहता है 'Operation Not Permitted', तो इसका मतलब है कि आपके पास इसे बदलने का अधिकार नहीं है। इसके बजाय सुपरयूजर आदेश `sudo chmod ...` का प्रयास करें।
✓ नई फ़ाइलों की डिफ़ॉल्ट अनुमतियाँ (Umask)
जब आप Linux पर कोई नई फ़ाइल (जैसे `touch file.txt`) बनाते हैं, तो वह डिफ़ॉल्ट रूप से `644` (या फ़ोल्डर्स के लिए `755`) अनुमति के साथ आती है। इसे `umask` उपयोगिता द्वारा नियंत्रित किया जाता है।
❓ अक्सर पूछे जाने वाले प्रश्न (FAQ)
ये संख्याएँ 4, 2, और 1 (4, 2, 1) क्या हैं?
Linux में 'Read' (पढ़ने) का मूल्य 4 है, 'Write' (लिखने) का 2 है, और 'Execute' (निष्पादन) का 1 है। जब आप कई अनुमतियाँ चाहते हैं, तो आप उन्हें केवल जोड़ते हैं। उदाहरण के लिए, 4 (Read) + 2 (Write) = 6। इसलिए, '6' का मतलब है पढ़ना और लिखना। 4 + 2 + 1 = 7, जिसका अर्थ है सभी अधिकार।
'अदर्स (Others)' और 'ग्रुप (Group)' के बीच क्या अंतर है?
`Group` (समूह) उन अन्य उपयोगकर्ताओं पर लागू होता है जिन्हें आपने अपने लिनक्स समूह (उदा: 'developers' या 'docker' समूह) में जोड़ा है। `Others` (अन्य / सार्वजनिक) कोई भी बाहरी व्यक्ति या अतिथि (Guest) होता है जो उस कंप्यूटर को इंटरनेट या नेटवर्क पर एक्सेस कर रहा होता है।
क्या मैं विंडोज़ (Windows) पर Chmod आदेश का उपयोग कर सकता हूँ?
मूल रूप से (Natively), नहीं। Windows का अपना एक्सेस कंट्रोल (ACL) या फ़ाइल अनुमति सिस्टम है जो ऑक्टल नंबर (755 आदि) का समर्थन नहीं करता है। हालाँकि, यदि आप Git Bash, WSL (Windows Subsystem for Linux), या Cygwin का उपयोग कर रहे हैं, तो chmod पूरी तरह से काम करेगा।
फ़ोल्डर (निर्देशिका) पर 'निष्पादन' (Execute - 1) का क्या अर्थ है?
फ़ाइल के मामले में 'Execute' का मतलब है उस प्रोग्राम या स्क्रिप्ट को रन करना। परंतु निर्देशिका (Folder) के मामले में 'Execute' का अर्थ है आपको `cd` आदेश का उपयोग करके उस फ़ोल्डर के अंदर प्रवेश (Enter) करने की अनुमति देना। इसलिए, पब्लिक फ़ोल्डर्स के पास हमेशा 'Execute' (अर्थात् 5 या 7) अनुमति होनी चाहिए।