फ़ाइल सिस्टम डिस्क पर संग्रहीत के रूप में फ़ाइल अनुमतियाँ संग्रहीत नहीं करता है, लेकिन फ़ाइल सिस्टम ड्रायवर को उन्हें ऑपरेटिंग सिस्टम को प्रदान करना होता है क्योंकि वे यूनिक्स फाइल सिस्टम अवधारणा का एक अभिन्न अंग हैं और सिस्टम कॉल इंटरफेस को यह पेश करने का कोई तरीका नहीं है कि अनुमतियाँ हैं लापता।
यह भी विचार करें कि क्या होगा यदि किसी फाइल में कोई अनुमति बिट्स नहीं है? क्या यह वैसा ही होगा 0777
, अर्थात सभी के लिए उपयोग; या के रूप में ही 0000
, यानी किसी के लिए उपयोग नहीं? लेकिन उन दोनों के हैं फाइल अनुमति, तो क्यों उन्हें नहीं दिखा? या कुछ अधिक उपयोगी है और कुछ समझदार अनुमतियाँ सेट करने का एक तरीका है।
तो, ड्राइवर कुछ अनुमतियों, सभी फ़ाइलों के लिए एक ही फेक देता है। फ़ाइलों के स्वामी और समूह के साथ अनुमतियाँ माउंट समय पर कॉन्फ़िगर करने योग्य हैं। इन्हें माउंट (8) मैन पेज में "वसा के लिए माउंट विकल्प" के तहत वर्णित किया गया है :
वसा के लिए माउंट विकल्प
(नोट: वसा एक अलग फाइल सिस्टम नहीं है, लेकिन msdos, umsdos और vfat filesystems का एक सामान्य हिस्सा है।)
uid=value
और gid=value
सभी फ़ाइलों के स्वामी और समूह को सेट करें। (डिफ़ॉल्ट: वर्तमान प्रक्रिया का यूआईडी और जीआईडी।)
umask=value
Umask सेट करें (अनुमतियों के बिटमास्क जो मौजूद नहीं हैं)। डिफ़ॉल्ट वर्तमान प्रक्रिया का umask है। अष्टक में मान दिया जाता है।
dmask=value
Umask को केवल निर्देशिकाओं पर लागू करें सेट करें। डिफ़ॉल्ट वर्तमान प्रक्रिया का umask है। अष्टक में मान दिया जाता है।
fmask=value
Umask को केवल नियमित फ़ाइलों पर लागू करें। डिफ़ॉल्ट वर्तमान प्रक्रिया का umask है। अष्टक में मान दिया जाता है।
ध्यान दें कि अनुमतियाँ मास्क के रूप में प्रस्तुत की जाती हैं, इसलिए अंतिम अनुमतियाँ मास्क की उपेक्षा हैं। fmask=0133
अनुमतियाँ वाले सभी फ़ाइलों में परिणाम होगा 0644
, या rw-r--r--
।
इसके अलावा, चूक कॉलिंग प्रक्रिया से विरासत में मिली हैं mount()
, इसलिए यदि आप mount
कमांड लाइन से कॉल करते हैं, तो शेल की umask
इच्छा लागू होगी।