परिचय
लिनक्स ऑपरेटिंग सिस्टम पर काम करते समय फाइलों और डायरेक्टरीज की ग्रुप ओनरशिप को नियंत्रित करना सिस्टम सुरक्षा का बुनियादी हिस्सा है। इस व्यावहारिक मार्गदर्शिका में हम chgrp टूल के प्रभावी उपयोग पर विस्तार से चर्चा करेंगे। सामान्य सिंटैक्स के अलावा डायरेक्टरी ट्री के लिए रिकर्सिव अपडेट (-R), संदर्भ आधारित बदलाव (--reference), और सिम्बोलिक लिंक्स के प्रबंधन जैसे आवश्यक विकल्पों को स्टेप-बाय-स्टेप टर्मिनल उदाहरणों के जरिए स्पष्ट किया गया है।
chgrp की कार्यप्रणाली और एकल फाइल का ग्रुप बदलना
प्रैक्टिकल लैब शुरू करने से पहले सिस्टम में एक नया ग्रुप जोड़ते हैं। इसके लिए sudo groupadd -f devteam कमांड चलाकर devteam नामक ग्रुप तैयार करें:

परीक्षण हेतु एक सामान्य फाइल की आवश्यकता होगी। नीचे दी गई touch /tmp/sample_doc.txt कमांड से टेम्परेरी डायरेक्टरी में फाइल बनाएं:

किसी भी प्रकार के बदलाव से पहले फाइल के मौजूदा यूजर और ग्रुप की स्थिति की पुष्टि करने के लिए ls -l /tmp/sample_doc.txt रन करें:

लिनक्स में chgrp (Change Group) यूटिलिटी का मुख्य कार्य किसी भी फाइल सिस्टम ऑब्जेक्ट के ग्रुप असाइनमेंट को अपडेट करना है। लक्षित फाइल को नए ग्रुप में ट्रांसफर करने के लिए sudo chgrp devteam /tmp/sample_doc.txt निष्पादित करें:
⚙️ [अक्सर उपयोग किए जाने वाले फ्लैग्स]
-c : केवल उन्हीं फाइलों का स्टेटस टर्मिनल पर दिखाता है जिनका ग्रुप वास्तव में मॉडिफाई हुआ हो।-f : परमिशन एरर या अनुपलब्ध फाइलों से संबंधित अधिकांश त्रुटि संदेशों को म्यूट कर देता है।-v : प्रक्रिया के दौरान प्रोसेस की जा रही प्रत्येक फाइल का विस्तृत वर्बोस विवरण प्रिंट करता है।-R : निर्दिष्ट डायरेक्टरी के साथ-साथ उसकी सभी आंतरिक फाइलों और सब-फोल्डर्स पर बदलाव लागू करता है।--reference=RFILE : मैन्युअल ग्रुप नाम टाइप करने के बजाय किसी बेस फाइल (RFILE) के मौजूदा ग्रुप को क्लोन करता है।

ग्रुप ओनरशिप सफलतापूर्वक devteam में परिवर्तित हुई या नहीं, इसे जांचने के लिए दोबारा ls -l /tmp/sample_doc.txt रन करें:

डायरेक्टरी और उसकी फाइलों का रिकर्सिव ग्रुप रूपांतरण (-R)
नेस्टेड डायरेक्टरी स्ट्रक्चर पर एक साथ ग्रुप असाइन करने के अभ्यास के लिए mkdir -p /tmp/project_dir/sub की मदद से पैरेंट और चाइल्ड डायरेक्टरी बनाएं:

इसके बाद दोनों स्तरों पर डमी फाइलें जोड़ने के लिए touch /tmp/project_dir/file1.txt /tmp/project_dir/sub/file2.txt चलाएं:

रिकर्सिव ऑपरेशन से पहले पूरे फोल्डर ट्री की मौजूदा ओनरशिप स्थिति का मुआयना करने के लिए ls -lR /tmp/project_dir निष्पादित करें:

पूरे प्रोजेक्ट फोल्डर की अनुमतियां एक साथ अपडेट करने के लिए -R (रिकर्सिव) विकल्प आदर्श समाधान है। sudo chgrp -R devteam /tmp/project_dir चलाकर मेन डायरेक्टरी और सभी आंतरिक फाइलों का ग्रुप एक बार में devteam सेट करें:

सभी सब-डायरेक्टरीज और फाइलों पर यह बदलाव सही तरीके से लागू हो चुका है, इसकी पुष्टि के लिए ls -lR /tmp/project_dir चलाएं:

किसी अन्य फाइल से ग्रुप ओनरशिप क्लोन करना (–reference)
ग्रुप सेटिंग्स की कॉपी बनाने का अभ्यास करने हेतु touch /tmp/target_file.txt का उपयोग करके एक नई टारगेट फाइल जनरेट करें:

संदर्भ (रेफरेंस) फाइल और टारगेट फाइल दोनों के वर्तमान ग्रुप्स की तुलना करने के लिए ls -l /tmp/sample_doc.txt /tmp/target_file.txt चलाएं:

जब आपको ग्रुप का सटीक नाम याद न हो या किसी स्टैंडर्ड फाइल जैसी सेटिंग्स तुरंत लागू करनी हों, तब --reference फ्लैग बेहद उपयोगी साबित होता है। /tmp/sample_doc.txt के ग्रुप को सीधे टारगेट फाइल पर रेप्लिकेट करने के लिए sudo chgrp --reference=/tmp/sample_doc.txt /tmp/target_file.txt रन करें:

लक्षित फाइल ने सोर्स फाइल का devteam ग्रुप सफलतापूर्वक ग्रहण कर लिया है, इसे देखने के लिए ls -l /tmp/target_file.txt का आउटपुट चेक करें:

वर्बोस आउटपुट (-v) और सिम्बोलिक लिंक का प्रबंधन (-h)
एक अन्य परिदृश्य के परीक्षण के लिए सिस्टम में sudo groupadd -f qateam कमांड चलाकर qateam ग्रुप बनाएं:

सॉफ्ट लिंक बिहेवियर को समझने हेतु ln -sf /tmp/sample_doc.txt /tmp/sample_link की सहायता से मूल फाइल का एक सिम्बोलिक लिंक बनाएं:

तैयार किए गए सिम्बोलिक लिंक की शुरुआती ओनरशिप डिटेल्स का निरीक्षण करने के लिए ls -l /tmp/sample_link चलाएं:

निष्पादन के प्रत्येक चरण की लाइव जानकारी स्क्रीन पर देखने के लिए -v (verbose) फ्लैग इस्तेमाल करें। sudo chgrp -v qateam /tmp/sample_doc.txt रन करके फाइल को नए ग्रुप में भेजें और टर्मिनल पर विस्तृत स्टेटस संदेश देखें:

सामान्यतः chgrp सिम्बोलिक लिंक के वास्तविक टारगेट फाइल पर काम करता है। यदि आप मूल फाइल के बजाय खुद सिम्बोलिक लिंक फाइल का ग्रुप बदलना चाहते हैं, तो -h फ्लैग का उपयोग करें। लिंक ऑब्जेक्ट पर ग्रुप लागू करने के लिए sudo chgrp -h qateam /tmp/sample_link चलाएं:

अंत में ls -l /tmp/sample_link द्वारा सुनिश्चित करें कि सिम्बोलिक लिंक का अपना ग्रुप ओनरशिप सफलतापूर्वक qateam में बदल चुका है:

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