चिपचिपा सा क्यों इस्तेमाल करें?


18

"चिपचिपा बिट केवल निर्देशिकाओं पर लागू होता है, और आमतौर पर सार्वजनिक रूप से लिखने योग्य निर्देशिकाओं पर उपयोग किया जाता है। जिस निर्देशिका पर चिपचिपा बिट लागू किया जाता है, उपयोगकर्ताओं को किसी भी फाइल को हटाने या नाम बदलने से रोका जाता है जो वे व्यक्तिगत रूप से स्वयं नहीं करते हैं।"

क्या इसका मतलब है कि अगर मैं निम्नलिखित चलाऊं:

// only allow other users to read files in /directory
sudo chmod o-w -R /directory
sudo chmod o-x -R /directory
sudo chmod o+r -R /directory

उपयोगकर्ता अभी भी किसी भी फ़ाइल को हटा सकते हैं या उसका नाम बदल सकते हैं जो उनके पास नहीं है?

जवाबों:


22

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

अनुमतियों वाली निर्देशिका में rwx------या rwxr-xr-x, केवल निर्देशिका का स्वामी ही फ़ाइल बना या हटा सकता है। यदि ऐसी कोई फ़ाइलें हैं जो किसी भिन्न उपयोगकर्ता से संबंधित हैं (वहाँ रूट द्वारा ले जाया गया, या जब निर्देशिका में अधिक खुली अनुमतियाँ थीं), तो यह अभी भी निर्देशिका का स्वामी है जिनके पास उन्हें हटाने की अनुमति है, फ़ाइल के स्वामी की नहीं।

अनुमतियों वाली निर्देशिका rwxrwx---में, समूह के सभी सदस्य फाइलें बना और हटा सकते हैं। समूह का कोई भी सदस्य किसी भी फ़ाइल को हटा सकता है, भले ही वह किसी भिन्न उपयोगकर्ता का हो। यदि अनुमतियाँ इसके rwxrwx--Tबजाय हैं (पूंजी Tकी तरह है t, लेकिन tइसका मतलब है कि xबिट सेट है और Tइसका मतलब है कि xबिट स्पष्ट है), तो समूह का कोई भी सदस्य एक फ़ाइल बना सकता है, और समूह के सदस्य फ़ाइलों को हटा सकते हैं, लेकिन केवल अपनी फ़ाइलों को ।

आप निम्न कमांड का उपयोग करके देख सकते हैं कि आपके सिस्टम में किन निर्देशिकाओं में चिपचिपा सा है:

find / /run /run/lock /run/shm -xdev -path /usr -prune -o -perm -o+t -ls 2>/dev/null

आपको कुछ निर्देशिकाएँ मिलेंगी , जो /tmpसभी के लिए खुली हैं, और कुछ निर्देशिकाएँ, जैसे /var/spool/cron/crontabsकि एक सिस्टम प्रोग्राम के लिए आरक्षित हैं , जो अपने स्वयं के समूह ( सेटगिड ) के रूप में चलती है , जहाँ चिपचिपा बिट सुनिश्चित करता है कि प्रोग्राम केवल फाइलों को डिलीट कर सकता है। उपयोगकर्ता जो उनका मालिक है (जो यह सुनिश्चित करता है कि प्रोग्राम केवल उस उपयोगकर्ता की ओर से फ़ाइलें बना सकता है जो उनके मालिक हैं, यह प्रोग्राम उस उपयोगकर्ता के रूप में चल रहा है, रूट के रूप में नहीं, इसलिए अन्य उपयोगकर्ताओं से संबंधित फ़ाइलें नहीं बना सकता है)।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.