Computer >> कंप्यूटर >  >> प्रणाली >> Linux

लिनक्स में साझा निर्देशिकाओं पर फ़ाइलों को प्रबंधित करने के लिए स्टिकी बिट का उपयोग कैसे करें

लिनक्स में साझा निर्देशिकाओं पर फ़ाइलों को प्रबंधित करने के लिए स्टिकी बिट का उपयोग कैसे करें

इसकी स्थापना के बाद से, लिनक्स को बहु-उपयोगकर्ता वातावरण का समर्थन करने के लिए तैयार किया गया था। एक कार्य प्रणाली पर कई उपयोगकर्ताओं और समूहों के साथ, एक ही समूह के उपयोगकर्ताओं के बीच साझा की गई निर्देशिकाओं का सामना करना काफी आम है, और निर्देशिकाओं में फ़ाइलों को साझा करने से समस्याएँ उत्पन्न होती हैं। इस लेख में, हम चर्चा करेंगे कि आप साझा निर्देशिकाओं पर फ़ाइल एक्सेस अनुमति को ठीक करने के लिए स्टिकी बिट्स का उपयोग कैसे कर सकते हैं।

उदाहरण के लिए, हमारे पास तीन उपयोगकर्ताओं के साथ एक प्रणाली है - जॉन 1, जॉन 2 और जॉन 3, सभी सामान्य समूह "जॉन" के सदस्य हैं

मान लें कि "जॉन 1" "शेयर्ड-डीआईआर" नामक एक नई निर्देशिका बनाता है जिसका अर्थ "जॉन्स" समूह के सभी उपयोगकर्ताओं के बीच साझा किया जाना है।

लिनक्स में साझा निर्देशिकाओं पर फ़ाइलों को प्रबंधित करने के लिए स्टिकी बिट का उपयोग कैसे करें

ls . के साथ आदेश, हम "साझा-डीआईआर" की अनुमति देख सकते हैं, जिसे निम्न तालिका में व्याख्या किया जा सकता है:

लिनक्स में साझा निर्देशिकाओं पर फ़ाइलों को प्रबंधित करने के लिए स्टिकी बिट का उपयोग कैसे करें

केवल "जॉन 1" निर्देशिका की सामग्री को पढ़ सकता है और निर्देशिका को भी लिख सकता है। चूंकि हम एक साझा निर्देशिका के साथ काम कर रहे हैं, हम चाहते हैं कि समूह के सभी उपयोगकर्ता "साझा-डीआईआर" को लिख सकें।

इसके लिए, हम chmod . का उपयोग करके अनुमतियों को संशोधित करेंगे आज्ञा। हम नीचे दिखाए गए अनुसार "जॉन्स" समूह के सभी उपयोगकर्ताओं के लिए "लिखने" अनुमतियां जोड़ देंगे।

लिनक्स में साझा निर्देशिकाओं पर फ़ाइलों को प्रबंधित करने के लिए स्टिकी बिट का उपयोग कैसे करें

जैसा कि नीचे दिखाया गया है हम "साझा-डीआईआर" के लिए अद्यतन अनुमतियां देख सकते हैं। पीले रंग में रेखांकित भाग दर्शाता है कि "जॉन्स" समूह को "लिखने" की अनुमति दी गई है।

लिनक्स में साझा निर्देशिकाओं पर फ़ाइलों को प्रबंधित करने के लिए स्टिकी बिट का उपयोग कैसे करें

साझा निर्देशिका में फ़ाइलें जोड़ना

अब “john1” “shared-dir” में दो फ़ाइलें (j1_file1.txt और j1_file2.txt) जोड़ता है

लिनक्स में साझा निर्देशिकाओं पर फ़ाइलों को प्रबंधित करने के लिए स्टिकी बिट का उपयोग कैसे करें

आसान समझ के लिए, फ़ाइल नाम के पहले दो अक्षर उपयोगकर्ता नाम के समानार्थी हैं।

लिनक्स में साझा निर्देशिकाओं पर फ़ाइलों को प्रबंधित करने के लिए स्टिकी बिट का उपयोग कैसे करें

इसी तरह, “john2” भी “shared-dir” निर्देशिका में “लिखने” में सक्षम हैं

लिनक्स में साझा निर्देशिकाओं पर फ़ाइलों को प्रबंधित करने के लिए स्टिकी बिट का उपयोग कैसे करें लिनक्स में साझा निर्देशिकाओं पर फ़ाइलों को प्रबंधित करने के लिए स्टिकी बिट का उपयोग कैसे करें

"shared-dir" में अब चार फ़ाइलें हैं।

लिनक्स में साझा निर्देशिकाओं पर फ़ाइलों को प्रबंधित करने के लिए स्टिकी बिट का उपयोग कैसे करें

क्या मौजूदा सेटअप में कोई समस्या है?

फ़ाइल "j1_file1.txt" को "john1" द्वारा फ़ाइल स्वामी "john1" बनाकर बनाया गया था। अब “john2” लॉग इन करता है और इस फ़ाइल को हटाने का प्रयास करता है, और वह ऐसा कर पाएगा।

"जॉन 1" फ़ाइल का स्वामी था, लेकिन "जॉन 2" इसे हटाने में सक्षम था क्योंकि "जॉन" समूह के सभी सदस्यों को "लिखने" की अनुमति दी गई थी।

यह परिदृश्य आदर्श नहीं है। हम चाहते हैं कि सभी उपयोगकर्ता निर्देशिका को लिखने में सक्षम हों, लेकिन केवल फ़ाइल स्वामी ही फ़ाइल को हटाने में सक्षम होना चाहिए। यह कैसे हासिल किया जा सकता है?

पेश है स्टिकी बिट

स्टिकी बिट एक विशेष अनुमति है जिसे उस निर्देशिका पर सेट किया जा सकता है जिसमें समूह के लिए "लिखने" अनुमतियां सेट की गई हैं। यह बिट सुनिश्चित करता है कि समूह के सभी सदस्य निर्देशिका को लिख सकते हैं, लेकिन केवल वह व्यक्ति जिसने फ़ाइल बनाई है, वह फ़ाइल स्वामी है, फ़ाइल को हटा सकता है।

chmod +t . के साथ कमांड करें निर्देशिका पर स्टिकी बिट सेट करने के लिए ध्वज का उपयोग किया जा सकता है।

लिनक्स में साझा निर्देशिकाओं पर फ़ाइलों को प्रबंधित करने के लिए स्टिकी बिट का उपयोग कैसे करें

अद्यतन अनुमति नीचे देखी जा सकती है।

लिनक्स में साझा निर्देशिकाओं पर फ़ाइलों को प्रबंधित करने के लिए स्टिकी बिट का उपयोग कैसे करें

अब अगर “john2” “j1_file2.txt” फ़ाइल को हटाने का प्रयास करता है जो “john1” द्वारा बनाई गई थी, तो उस ऑपरेशन की अनुमति नहीं है।

लिनक्स में साझा निर्देशिकाओं पर फ़ाइलों को प्रबंधित करने के लिए स्टिकी बिट का उपयोग कैसे करें

यदि आप "अन्य" के लिए "निष्पादित" अनुमति को हटाते हैं, जैसा कि नीचे दिखाया गया है:

लिनक्स में साझा निर्देशिकाओं पर फ़ाइलों को प्रबंधित करने के लिए स्टिकी बिट का उपयोग कैसे करें

निर्देशिका पर चिपचिपा बिट का अस्तित्व अनुमति स्ट्रिंग के "अन्य" भाग में ऊपरी केस "टी" द्वारा दर्शाया गया है। निर्देशिका पर चिपचिपा सा व्यवहार वही रहता है।

लिनक्स में साझा निर्देशिकाओं पर फ़ाइलों को प्रबंधित करने के लिए स्टिकी बिट का उपयोग कैसे करें

“chmod” कमांड का प्रकार

chmod . का संख्यात्मक रूप निर्देशिका पर स्टिकी बिट सेट करने के लिए कमांड का भी उपयोग किया जा सकता है।

chmod nxyz <file_name>

जहां,

  • n =1, स्टिकी बिट को संदर्भित करता है। "एन" के अन्य मान अन्य विशेष अनुमतियों को संदर्भित करते हैं।
  • x :फ़ाइल स्वामी को अनुमति दी गई
  • y :फ़ाइल तक पहुंच वाले समूह को दी गई अनुमति
  • z :दूसरों को दी गई अनुमति

"शेयर्ड-डीआईआर" पर स्टिकी बिट सेट करने के लिए, निम्न कमांड का उपयोग करें:

chmod 1755 shared-dir

जो +t . का उपयोग करने जैसा ही परिणाम देता है मौजूदा डिफ़ॉल्ट अनुमतियों पर।

स्टिकी बिट का उपयोग केवल निर्देशिकाओं के लिए अच्छा है, इसे फाइलों के लिए उपयोग करने का कोई मतलब नहीं होगा।


  1. Linux और macOS में फ़ाइलों को त्वरित रूप से खोजने के लिए fd का उपयोग कैसे करें

    fd फाइंड कमांड का एक आसान विकल्प है। यह आपके टाइप किए गए कमांड को संक्षिप्त और बिंदु तक रखने के लिए एक संक्षिप्त सिंटैक्स और एक संक्षिप्त कमांड संरचना का उपयोग करता है। हालाँकि, वर्डसिटी की कमी जो fd को टाइप करना आसान बनाती है, उसे समझना अधिक कठिन हो जाता है। fd डिफ़ॉल्ट खोज कमांड की तुलना में अधिक

  1. Linux में ज़िप फ़ाइलें कैसे निकालें

    ज़िप फ़ाइलें उतनी सामान्य नहीं हैं जितनी वे तब हुआ करती थीं जब डाउनलोड की गति धीमी थी और हर सहेजी गई बाइट मायने रखती थी। फिर भी, यह काफी सामान्य फ़ाइल प्रकार है। देर-सबेर आपको शायद एक खोलना पड़ेगा। आपके द्वारा उपयोग किए जाने वाले वितरण के आधार पर, ज़िप संग्रह को निकालना संभवतः काफी आसान है। फिर भी,

  1. Linux में किसी फ़ाइल के भाग को स्थानांतरित करने के लिए Zsync का उपयोग कैसे करें

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