ऐसा लगता है कि जब भी मैं एक फाइल बनाता हूं touchतो अनुमतियाँ सेट होती हैं: -rw-r - r-- ।
क्या कोई तरीका है जिससे मैं अनुमतियों को कॉन्फ़िगर कर सकता हूं touchया इसके लिए एक अलग कमांड के साथ क्या करना होगा?
ऐसा लगता है कि जब भी मैं एक फाइल बनाता हूं touchतो अनुमतियाँ सेट होती हैं: -rw-r - r-- ।
क्या कोई तरीका है जिससे मैं अनुमतियों को कॉन्फ़िगर कर सकता हूं touchया इसके लिए एक अलग कमांड के साथ क्या करना होगा?
जवाबों:
आप umaskआम तौर पर अनुरोधित अनुमतियों के बाद से अधिक पढ़ने / लिखने के लिए (अधिकतर कार्यान्वयन के लिए) अनुमति दे सकते हैं , लेकिन निष्पादन योग्य नहीं हैं 0666।
यदि आपका umaskहै 022, तो आप touchएक 0644फ़ाइल बनाकर देखेंगे ।
दिलचस्प बात यह है कि , POSIX इस व्यवहार का वर्णन करता है creat:
यदि फ़ाइल मौजूद नहीं है:
मूल्य बना () समारोह निम्नलिखित तर्क के साथ कहा जाता है:
फ़ाइल ऑपरेंड का उपयोग पथ तर्क के रूप में किया जाता है।
बिटवाइज़ समावेशी का मूल्य या की
S_IRUSR,S_IWUSR,S_IRGRP,S_IWGRP,S_IROTH, औरS_IWOTHमोड तर्क के रूप में प्रयोग किया जाता है।
और यह केवल उन लिंक्स का अनुसरण करके है creat, जिन्हें प्रभावित करने के लिए यह सत्यापित करने के लिए (और ) पर वापस और ट्रैकिंग openका उल्लेख करना है ।umaskopencreatumasktouch
umaskकेवल touchआदेश को प्रभावित करने के लिए , एक उपधारा का उपयोग करें:
(umask 066; touch private-file)
(umask 0; touch world-writable-file)
touch file-as-per-current-umask
(ध्यान दें कि किसी भी स्थिति में, यदि फ़ाइल पहले से मौजूद थी, touchतो इसकी अनुमति नहीं बदलेगी, बस इसकी टाइमस्टैम्प अपडेट करें)।
आप हेरफेर कर सकते हैं umask। आम तौर पर यह निर्धारित 022होता है कि जब उपयोगकर्ता कोई फ़ाइल बनाता है, तो उसे अनुमति मिल जाएगी 0644, आप umaskअपनी आवश्यकताओं के अनुसार हेरफेर कर सकते हैं।