आप प्रति निर्देशिका में umask सेट नहीं कर सकते, यह एक प्रक्रिया-स्तरीय मूल्य है। यदि आपको किसी निर्देशिका में फ़ाइलों को पढ़ने से रोकने की आवश्यकता है, तो संबंधित अनुमतियों को रद्द करें।
उदाहरण के लिए, यदि आपके पास /home/user/directory
कुछ फ़ाइलों और निर्देशिकाओं के साथ एक निर्देशिका है , जो किसी प्रक्रिया से 777 जैसी अनुमति प्राप्त कर सकते हैं /home/user/directory
, तो 700 जैसी किसी चीज़ की अनुमति बिट्स सेट करें । इससे अन्य उपयोगकर्ताओं (सुपरसुअर रूट को छोड़कर) को नीचे उतरना असंभव हो जाएगा में है /home/user/directory
।
मैं पागल हूँ और अनुमति /home/user
को 750 पर सेट कर रहा हूँ , इसलिए केवल मैं अपने घर निर्देशिका में पढ़ सकता हूं, लिख सकता हूं और उतर सकता हूं। इसका परिणाम यह होता है कि फोल्डर /home/user/Public
को अन्य लोगों द्वारा एक्सेस नहीं किया जा सकता है, लेकिन मैं इसके साथ रह सकता हूं।
आपके प्रश्न के प्रति अद्यतन: फिर भी, आप इसे नियंत्रित नहीं कर सकते हैं कि फाइलसिस्टम में (FAT की तरह एक अलग फाइलसिस्टम का उपयोग करने के अलावा जो दृढ़ता से अस्वीकृत है), आपको अपने वेबप में ऐसा करने की आवश्यकता है। यदि आपके वेबप को PHP में कोडित किया गया है, तो आप umask
फ़ंक्शन का उपयोग करके उड़ पर umask बदल सकते हैं :
<?php
umask(0022);
// other code
?>
आप इसे कॉन्फ़िगरेशन फ़ाइल में रख सकते हैं, जैसे डेटाबेस कनेक्शन पासवर्ड वाली फ़ाइल (Wordpress जैसे एप्लिकेशन में सोच)।
याद रखें कि यह एक प्रक्रिया मूल्य है, कुछ वेबसर्वर आपको अपनी कॉन्फ़िगरेशन फ़ाइलों में इसे सेट करने की अनुमति देते हैं, अन्यथा आप वांछित स्क्रिप्ट को सेट करने के लिए स्टार्टअप स्क्रिप्ट को संशोधित कर सकते हैं। याद रखें कि वेबपृष्ठों के लिए अनुमतियाँ काफी खतरनाक हैं 755
और 644
यदि कोड संवेदनशील है, तो हर कोई इसे पढ़ सकता है।