लिनक्स chmod कमांड और फ़ाइल परमिशन गाइड

परिचय एवं बुनियादी अवधारणा

लिनक्स ऑपरेटिंग सिस्टम में डेटा सुरक्षा की रीढ़ फ़ाइल और डायरेक्टरी परमिशन मॉडल पर टिकी है, जिसे नियंत्रित करने के लिए chmod सबसे महत्वपूर्ण साधन है। इस गाइड में हम ऑक्टल संख्यात्मक प्रारूप (जैसे 755 और 644) तथा सिंबॉलिक वर्ण प्रारूप (rwx) के पीछे के गणित को समझेंगे। टर्मिनल पर किए गए वास्तविक प्रयोगों के स्क्रीनशॉट के साथ आप यह जान सकेंगे कि विभिन्न उपयोगकर्ताओं के लिए एक्सेस स्तर को सुरक्षित रूप से कैसे कॉन्फ़िगर किया जाता है।

1. लिनक्स एक्सेस कंट्रोल आर्किटेक्चर और मौजूदा अनुमतियों की जांच (ls -l)

इस हैंड-ऑन ट्यूटोरियल के सभी परीक्षणों को एक अलग वर्कस्पेस में रखने के लिए हम mkdir -p ~/chmod_demo && cd ~/chmod_demo चलाकर एक नया फ़ोल्डर बनाकर सीधे उसमें प्रवेश करते हैं।

वर्कस्पेस डायरेक्टरी का निर्माण और उसमें प्रवेश

परमिशन की स्थिति जांचने और बदलाव करने के लिए touch sample.txt कमांड की मदद से एक खाली डमी फ़ाइल तैयार की जाती है।

परीक्षण फ़ाइल sample.txt बनाना

सिस्टम द्वारा डिफ़ॉल्ट रूप से सौंपी गई सुरक्षा सेटिंग्स का अवलोकन करने के लिए ls -l sample.txt निष्पादित करें।
कमांड के आउटपुट में सबसे बाईं ओर दिखने वाले 10 वर्ण (-rw-r--r--) फ़ाइल के प्रकार के साथ-साथ तीन उपयोगकर्ता श्रेणियों—ओनर (पढ़ना/लिखना), ग्रुप (केवल पढ़ना), और अदर्स (केवल पढ़ना)—के एक्सेस अधिकारों को स्पष्ट रूप से दर्शाते हैं।
⚙️ [महत्वपूर्ण कमांड विकल्प]

-l : यह विकल्प विस्तृत विवरण (long format) प्रस्तुत करता है, जिसमें एक्सेस अधिकार, ओनर, ग्रुप, बाइट्स में आकार और संशोधन समय शामिल होता है।
-a : डॉट (.) से शुरू होने वाली सभी अदृश्य (hidden) फ़ाइलों और फ़ोल्डरों को स्क्रीन पर प्रदर्शित करता है।
-h : फ़ाइल के आकार को इंसानों के समझने योग्य इकाइयों (KB, MB, GB आदि) में परिवर्तित करके दिखाता है (इसे प्रायः -l के साथ जोड़ा जाता है)।
-d : फ़ोल्डर के आंतरिक तत्वों की बजाय स्वयं उस डायरेक्टरी की मेटाडेटा और परमिशन जानकारी देता है।
-R : वर्तमान डायरेक्टरी के तहत मौजूद प्रत्येक सब-डायरेक्टरी और फ़ाइल का पुनरावर्ती (recursive) ब्योरा प्रस्तुत करता है।

ls -l के जरिए sample.txt की परमिशन का विश्लेषण

2. ऑक्टल (संख्यात्मक) पद्धति से परमिशन बदलना: 755 और 644 का उपयोग

कमांड निष्पादन को सुचारू रखने के लिए सबसे पहले cd ~/chmod_demo के जरिए सुनिश्चित करें कि आप अपने टेस्ट फ़ोल्डर में ही मौजूद हैं।

प्रैक्टिस डायरेक्टरी में दोबारा प्रवेश

फ़ाइल के निर्माता को पूर्ण नियंत्रण (Read 4 + Write 2 + Execute 1 = 7) तथा बाकी ग्रुप और अन्य उपयोगकर्ताओं को पढ़ने व चलाने की अनुमति (Read 4 + Execute 1 = 5) देने के लिए chmod 755 sample.txt निष्पादित किया जाता है।

sample.txt पर 755 परमिशन असाइन करना

बदलावों की पुष्टि करने के उद्देश्य से ls -l sample.txt चलाएं और जांचें कि क्या परमिशन स्ट्रिंग अब -rwxr-xr-x बन चुकी है।
यहाँ ओनर सेगमेंट rwx में तब्दील हो चुका है, जबकि ग्रुप और अन्य उपयोगकर्ताओं के खंड में r-x सेट हो चुका है, जिसका अर्थ है कि निष्पादन अधिकार (x) सक्रिय हो चुका है।

755 परमिशन लागू होने की पुष्टि

साधारण टेक्स्ट डॉक्यूमेंट्स के लिए आदर्श और सुरक्षित स्थिति बहाल करने के लिए—जहाँ ओनर के पास रीड/राइट (6) और बाकी सभी के लिए सिर्फ रीड-ओनली (4) हो—chmod 644 sample.txt लागू करें।

sample.txt को पुनः 644 परमिशन में बदलना

एक बार फिर ls -l sample.txt निष्पादित करके अंतिम स्थिति को वेरीफाई करें।
अब आउटपुट स्ट्रिंग -rw-r--r-- में लौट आई है, जिससे निष्पादन अधिकार समाप्त हो चुका है और केवल पढ़ने व लिखने की अनुमतियाँ बची हैं।

644 परमिशन के प्रभाव का सत्यापन

3. सिंबॉलिक (प्रतीकात्मक) सिंटैक्स के जरिए चुनिंदा अनुमतियां जोड़ना और हटाना

सिंबॉलिक मोड का अभ्यास करने के लिए सबसे पहले cd ~/chmod_demo कमांड से अपने प्रोजेक्ट डायरेक्टरी की स्थिति सुनिश्चित करें।

प्रैक्टिस डायरेक्टरी में नेविगेट करना

एक्ज़ीक्यूटेबल स्क्रिप्ट के व्यवहार को परखने के लिए echo '#!/bin/bash\necho "Hello Linux"' > test.sh चलाकर एक बुनियादी शेल स्क्रिप्ट तैयार करें।

शेल स्क्रिप्ट test.sh बनाना

फ़ाइल को रन करने योग्य बनाने के लिए सभी यूजर क्लासेज (ओनर, ग्रुप और अदर्स) पर एक साथ एक्ज़ीक्यूट बिट चालू करने हेतु chmod +x test.sh का उपयोग करें।

test.sh पर एक्ज़ीक्यूट परमिशन जोड़ना

नतीजे की पुष्टि हेतु ls -l test.sh रन करें।
परमिशन ब्लॉक -rwxr-xr-x दर्शाएगा, जो यह प्रमाणित करता है कि प्रत्येक वर्ग के पास स्क्रिप्ट को निष्पादित करने का अधिकार आ चुका है।

एक्ज़ीक्यूट परमिशन जुड़ने की स्थिति

कॉमा (,) ऑपरेटर का उपयोग करके एक ही कमांड से एकाधिक विशिष्ट फेरबदल किए जा सकते हैं; उदाहरण के लिए, ग्रुप से राइटिंग अधिकार वापस लेने और बाहरी यूज़र्स से रीडिंग अधिकार छीनने हेतु chmod g-w,o-r test.sh चलाएँ।

सिंबॉलिक मोड से बहुस्तरीय परमिशन संशोधन

अद्यतन सुरक्षा स्थिति देखने के लिए ls -l test.sh टाइप करें।
परिणामी स्ट्रिंग -rwxr-x--x यह पुष्टि करती है कि ग्रुप के अधिकार सुरक्षित रूप से सीमित हो चुके हैं और अदर्स श्रेणी से पढ़ने का अधिकार (r) सफलतापूर्वक हटा दिया गया है।

अंतिम सिंबॉलिक परमिशन स्थिति की पुष्टि

4. डायरेक्टरी और सब-फ़ोल्डर्स पर एक साथ परमिशन लागू करना (-R रिकर्सिव विकल्प)

नेस्टेड फ़ोल्डर संरचना पर एकसाथ नीति लागू करने का परीक्षण करने के लिए mkdir -p ~/chmod_demo/project/logs के जरिए आवश्यक डायरेक्टरी हायरार्की तैयार करें।

नेस्टेड डायरेक्टरी संरचना का निर्माण

परीक्षण के लिए डमी डेटा के रूप में touch ~/chmod_demo/project/app.py ~/chmod_demo/project/logs/app.log चलाकर पाइथन स्क्रिप्ट और संबंधित लॉग फ़ाइल जनरेट करें।

पायथन स्क्रिप्ट और लॉग फ़ाइल तैयार करना

पूरे प्रोजेक्ट ट्री को एक समान सुरक्षा परिधि में लाने के लिए -R फ़्लैग के साथ chmod -R 750 ~/chmod_demo/project चलाएँ।
इस विन्यास से ओनर को पूर्ण नियंत्रण (7), ग्रुप सदस्यों को देखने व डायरेक्टरी ट्रैवर्स करने का अधिकार (5) मिलता है, जबकि बाहरी दुनिया (अदर्स) का प्रवेश पूरी तरह अवरुद्ध (0) हो जाता है।

रिकर्सिव फ्लैग -R के साथ 750 परमिशन लागू करना

रूट प्रोजेक्ट डायरेक्टरी की सुरक्षा प्रोफ़ाइल का अलग से मुआयना करने के लिए ls -ld ~/chmod_demo/project निष्पादित करें।
परिणाम drwxr-x--- स्पष्ट करता है कि मूल फ़ोल्डर पर यह सुरक्षा नीति पूरी तरह प्रभावी हो चुकी है।

प्रोजेक्ट डायरेक्टरी की मेटाडेटा जांच

अंदरूनी घटकों पर भी नियम लागू होने की पुष्टि के लिए ls -l ~/chmod_demo/project चलाएँ।
यहाँ app.py फ़ाइल (-rwxr-x---) और logs फ़ोल्डर (drwxr-x---) दोनों पर समान नियम प्रतिबिंबित होते हैं, जो सिद्ध करता है कि रिकर्सिव प्रक्रिया ने गहराई तक कार्य किया है।

आंतरिक फ़ाइलों और सब-डायरेक्टरी की परमिशन स्थिति

इस गाइड में हमने लिनक्स सिस्टम में chmod के कार्यप्रणाली तंत्र, 755 और 644 के तकनीकी भेद, तथा वास्तविक परिवेश में परमिशन मैनेजमेंट के उपयोगी तरीकों को विस्तार से समझा।
अपनी प्रोडक्शन और डेवलपमेंट मशीनों पर न्यूनतम आवश्यक विशेषाधिकार (Principle of Least Privilege) लागू करके आप अपने लिनक्स परिवेश को पहले से कहीं अधिक सुदृढ़ और सुरक्षित बना सकते हैं।