किसी भी नई बनाई गई फ़ाइलों और फ़ोल्डरों को समूह में डिफ़ॉल्ट लिखने की अनुमति दें


15

मान लीजिए कि हमारे 2 उपयोगकर्ता हैं: a और b, जो कि दोनों समूह सामान्य का हिस्सा हैं।

मैं चाहूंगा कि कोई भी फ़ाइल या फ़ोल्डर जो A बनाता है, समूह के लिए अनुमति लिखें।

मैं यह कैसे कर सकता हूं?

उदाहरण के लिए, नई बनाई गई फ़ाइल इस प्रकार है:

-rw-r--r-- 1 a general

यह समूह सामान्य को लिखित अनुमति नहीं देता है


आपको इस उत्तर में रुचि हो सकती है: stackoverflow.com/questions/3175303/…
गेवरियल

2
मैं इसे जावा से नहीं करना चाहता। यह करने का सही तरीका नहीं है
डेजेल

"मैं इसे जावा से नहीं करना चाहता। यह ऐसा करने का सही तरीका नहीं है।" यह लगभग एक दार्शनिक कथन है। यह हर जगह लागू होता है ...
गर्गानुचेट

जवाबों:


15

हाँ, आप कर सकते हैं कि बदल रहा है umaskumaskनिर्धारित करता है जो एक नव creted फ़ाइल के लिए डिफ़ॉल्ट अनुमतियाँ हैं।

आप umask g+wअपनी शेल कॉन्फ़िगरेशन फ़ाइल ( ~/.bashrcउदाहरण के लिए) के अंत में जोड़ सकते हैं ।

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

इसके बजाय आप क्या कर सकते हैं समूह द्वारा विशिष्ट निर्देशिका के सभी नए बनाए गए फ़ाइल को योग्य बनाएं । आप निर्देशिका के ACLs में हेरफेर कर सकते हैं। उदाहरण के लिए, setfacl -dm u::rw,g::rw,o::r ~/shared

संदर्भ के लिए उन पदों को देखें : /server/349145/can-i-override-my-umask-using-acls-to-make-all-files-created-in-a-given-director और /programming/580584/setting-default-permissions-for-newly-created-files-and-sub-directories-under-a


क्या होगा अगर मुझे नहीं पता कि निर्देशिका क्या होगी? चूंकि हम कहते हैं कि मेरे पास फ़ोल्डर परीक्षण है। A द्वारा बनाई गई सभी फाइलें TEST के अंतर्गत होंगी। हालाँकि, वह एक फ़ोल्डर 20130515 बना सकता है और इसके तहत नई बनाई गई फ़ाइल का पता लगा सकता है। तो यह किसी भी फाइल और फोल्डर के लिए होना चाहिए जो TEST फ़ोल्डर के तहत पुनरावर्ती रूप से बनाया गया हो
Dejel

2
डिफॉल्ट ACL की नई उपनिर्देशिकाओं में विरासत है और उन निर्देशिकाओं में बनाई गई फ़ाइलों पर लागू होती है। इसलिए यदि आपने /srv/TESTडिफ़ॉल्ट ACL को उस निर्देशिका पर सेट किया है, तो जब /srv/TEST/20130515वह मूल डिफ़ॉल्ट निर्देशिका के समान ACL होगा।
ब्राचली

यह चलाने के लिए भी एक अच्छा विचार हो सकता है sudo chmod g+s [dir]ताकि फाइलें समूह के स्वामित्व में हों
linuxgnuru
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.