साझा निर्देशिका में नई फ़ाइलों के लिए अनुमतियाँ


31

हमें बस एक नया iMac मिल रहा है जो /Users/Sharedमीडिया एसेट्स (चित्र, ऑडियो, वीडियो) को स्टोर करने के लिए डायरेक्टरी का उपयोग कर रहा है जो हम मशीन पर सभी उपयोगकर्ताओं के लिए सुलभ चाहते हैं। शुरू में सभी फाइलों पर कॉपी करने के बाद, हम वांछित अनुमतियाँ सेट करते हैं और फिर सभी निर्देशिका सामग्रियों पर समान अनुमतियाँ पुनरावर्ती रूप से लागू करते हैं। यह ठीक काम कर रहा है, इसके अलावा जब भी कोई नई फ़ाइल या निर्देशिका बनाता है, तो उसके पास समान अनुमतियाँ नहीं होती हैं और सभी को पहुँचने से पहले हमें पूरी अनुमतियाँ प्रक्रिया को दोहराना पड़ता है।

क्या कोई ऐसा तरीका है जिससे हम उस निर्देशिका में बनाई गई सभी नई फ़ाइलों / निर्देशिकाओं के लिए अनुमतियाँ सेट कर सकते हैं?


विस्तारित गुण आपको कुछ बहुत ही उदार पहुँच अनुमतियाँ सेट करने की अनुमति देंगे, और उन्हें निर्देशिका के अंदर प्रचार करने के लिए कहेंगे, और नई रचनाओं पर ऐसा करना जारी रखेंगे, लेकिन मेरे जीवन के लिए मुझे निर्देश नहीं मिल सकते हैं। मैं इसे केवल सर्वर व्यवस्थापक उपकरण का उपयोग करके OSX सर्वर पर कर सकता हूं, जो मुझे लगता है कि यहां व्यवहार्य विकल्प नहीं है?
जेसन सलज

नहीं। हमारे पास केवल OS डिस्क है जो iMac के साथ आया है।
डैनियल स्टैंडेज

1
यदि आप टर्मिनल में काम करके खुश हैं तो यह वह उत्तर हो सकता है जिसकी आपको तलाश है।
बोहेज

जवाबों:


32

आप पारंपरिक POSIX- शैली अनुमतियों के साथ ऐसा नहीं कर सकते, लेकिन आप अंतर्निहित अभिगम नियंत्रण प्रविष्टियों के साथ कर सकते हैं। / उपयोगकर्ता / साझा / वास्तव में सभी चीज़ों के लिए पूरे "स्टाफ" समूह के लिए पढ़ने + लिखने की अनुमति देने के लिए, आप उपयोग करेंगे:

sudo chmod -R +a "staff allow list,add_file,search,add_subdirectory,delete_child,readattr,writeattr,readextattr,writeextattr,readsecurity,file_inherit,directory_inherit" /Users/Shared/reallyshared

file_inherit,directory_inheritभाग का मतलब है कि यह अभिगम नियंत्रण प्रविष्टि स्वचालित रूप से नई फ़ाइलें और इस फ़ोल्डर के अंदर निर्मित फ़ोल्डरों में जोड़ दिया जाएगा, लेकिन यह स्वचालित रूप से पहले से ही वहाँ आइटम पर लागू नहीं होता है (जो की मैं क्यों जोड़ा -Rकरने के लिए ध्वज chmod- भीतर वर्तमान में सब कुछ करने के लिए इसे लागू होने वाला फ़ोल्डर), और इसे कहीं और बनाई गई वस्तुओं पर लागू नहीं किया जाएगा और फिर इस फ़ोल्डर में ले जाया जाएगा (मुझे इसके बारे में कोई रास्ता नहीं पता है, क्षमा करें)।


मैं वास्तव में इस काम का तरीका ढूंढना पसंद करूंगा, यहां तक ​​कि फाइलों के लिए भी, जिन्हें एक साझा निर्देशिका में स्थानांतरित किया गया है। यह एक साझा निर्देशिका में फ़ाइलें रखने के लिए निराशाजनक है जो अंत में वास्तव में पूरी तरह से साझा नहीं किया जा रहा है।
त्रिवेणी

यह अभी भी एक फ़ोल्डर को लिखने की अनुमति नहीं देता है यदि पॉज़िक्स अनुमतियाँ इसे अनुमति नहीं देती हैं। यानी मैं इस फ़ोल्डर को फाइंडर में बनाता हूं: drwxr-xr-x+ 2 User staff 68 Dec 15 14:10 untitled folderअंत में इसका मतलब है कि इसे आपके आदेश का उपयोग करके विस्तारित एसीएल लागू किया गया है, लेकिन विंडोज अभी भी अनुमति को अस्वीकार कर देता है यदि मैं इस फ़ोल्डर में फ़ाइल लिखने की कोशिश करता हूं। केवल chmod g+w untitled\ folderमुझे इसे लिखने की अनुमति देता है। हो सकता है क्योंकि मैंने ओएसबीए के भयानक नए एसएमबी कार्यान्वयन के आसपास काम करने के लिए सांबा स्थापित किया था।
क्रिस ड्रैगन

@ क्रिसड्रागन: जो लगता है कि सांबा एसीएल का उचित सम्मान नहीं कर रहा है। मुझे यहाँ /etc/smb.conf nt acl support = noके [Global]अनुभाग में जोड़ने के लिए एक सुझाव मिला , लेकिन मुझे यकीन नहीं है कि यह अभी भी सांबा के वर्तमान संस्करणों में प्रासंगिक है।
गॉर्डन डेविसन

4

एक अन्य दृष्टिकोण टर्मिनल (उर्फ शेल या कमांड प्रॉम्प्ट) का उपयोग / बनाने के लिए है (सुपर-उपयोगकर्ता के रूप में प्रदर्शन किया जाना चाहिए, sudo देखें) फ़ाइल:
/etc/launchd-user.conf
लाइन जोड़ना:
umask 000
सहेजें और रीबूट करें। नई फ़ाइलें / फ़ोल्डर (जैसे फ़ाइलों को सहेजें के रूप में बदलकर) सभी को पढ़ने / लिखने की अनुमति देगा।

यह कार्यक्रमों के लिए डिफ़ॉल्ट फ़ाइल निर्माण अनुमतियों को बदलकर काम करता है, जबकि एसीएल दृष्टिकोण विशेष फ़ाइलों और फ़ोल्डरों से जुड़े एक्सेस नियमों के संदर्भ में काम करता है।

इस ट्वीक के बिना, उपयोगकर्ता की अनुमति के लिए फाइलें बनाई जाती हैं: रीड-राइट, ग्रुप और अन्य: रीड-ओनली।

यदि आप कई कंप्यूटरों के बीच साझा कर रहे हैं, तो आपको उन सभी कंप्यूटरों के लिए यह करने की आवश्यकता है जो शेयर का उपयोग करेंगे।

यदि आपके पास साझा क्षेत्र में मौजूद फ़ाइलें और फ़ोल्डर हैं, तो आपको उन सभी का उपयोग करके सभी पठनीय / योग्य बनाने की आवश्यकता है:
sudo chmod -R og+w <shared-folder-name>

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

कम से कम 10.6 के साथ काम करने के लिए मंचों में इस दृष्टिकोण का उल्लेख किया गया है और अभी भी 10.7 पर काम करता है।

अन्य कारक अभी भी सामग्री तक पहुंच को प्रभावित करते हैं। उदाहरण के लिए, साझाकरण नियंत्रण कक्ष, होम फ़ोल्डर अनुमतियाँ / ACL में अनुमत अनुमतियाँ, और जब शेल के लिए टर्मिनल किसी भी umask का उपयोग कर रहा हो।

को फिर से देखें umask और Posix फाइल अनुमतिइन यूनिक्स अवधारणाओं के विवरण के लिए। राइट अप में, शब्द निर्देशिका फ़ोल्डर के साथ Unix parlance पर्यायवाची है। आप यूआईडी और जीआईडी: उपयोगकर्ता और समूह आईडी का भी सामना करेंगे, जो चल रहे कार्यक्रमों (प्रक्रियाओं) के स्वामित्व स्वामित्व को परिभाषित करते हैं। ध्यान दें कि यूआईडी और जीआईडी ​​नंबर हैं जो विभिन्न कंप्यूटरों में दिए गए उपयोगकर्ता नाम के लिए समान या भिन्न हो सकते हैं। इन नंबरों को किसी दिए गए कंप्यूटर पर ऑर्डर खातों में नाम दिए गए हैं, आमतौर पर आईडी 501 के साथ शुरू होता है। होम नेटवर्क में पूरे कंप्यूटर में इन असाइनमेंट को सामंजस्य बनाने के लिए एक तंत्र की कमी है। इसलिए नेटवर्क शेयरों पर एक फ़ाइल विभिन्न उपयोगकर्ताओं से संबंधित हो सकती है क्योंकि उपयोगकर्ता नाम बाइंडिंग के लिए उपयोगकर्ता आईडी कंप्यूटर के दृष्टिकोण से निर्धारित होती है जो फ़ाइल तक पहुंच रही है। इसलिए शेयर वास्तव में हमेशा सभी को हर किसी के विभिन्न डिग्री तक फ़ाइलों को एक्सेस करने की अनुमति देता है। दूसरे शब्दों में, पॉज़िक्स "अन्य" अनुमति विभिन्न कंप्यूटरों पर निर्दिष्ट उपयोगकर्ता आईडी के आधार पर काफी अनुमानित और स्पष्ट रूप से अनिश्चित डिग्री तक पहुंच से लेकर पहुंच पर एक अनिश्चित सीमा है। यह स्पष्ट रूप से अनुभवों में अस्पष्ट रूप से भिन्नताओं की ओर जाता है, जहां कुछ नेटवर्क पर, उदाहरण के लिए, प्रत्येक मैक पर बनाए गए केवल एक उपयोगकर्ता खाते के साथ एक सेटअप, बिना किसी अनुमति के साझा करने में सक्षम होगा, क्योंकि सभी खातों में एक ही यूआईडी होगा (501, नहीं कोई फर्क नहीं पड़ता कि खातों का नाम क्या है) जबकि मैक के प्रति कई उपयोगकर्ता खातों का उपयोग करने वाला एक अन्य नेटवर्क तुरंत समस्याओं को देखेगा। तो कुछ समूह कभी भी इससे संघर्ष नहीं करेंगे, जबकि कुछ अन्य लोगों को समय के साथ विकसित होने वाली समस्याएं दिखाई दे सकती हैं, या जो समस्याएं अनायास प्रकट / गायब हो जाती हैं।

यह एक रहस्य है कि Apple ने फ़ाइल साझा करने की क्षमता को सक्षम करने के लिए इस तरह के अन्यथा आसान के विन्यास में इस तरह के एक उत्सव प्रयोज्य दोष को छोड़ दिया है।

बाहरी डिस्क पर, इस समस्या को "इस वॉल्यूम पर अनुमतियों को अनदेखा करें" विकल्प के साथ संबोधित किया जाता है। ऐप्पल फ़ाइल साझा करने के लिए एक समान सुविधा हो सकती है, लेकिन यह कहां है।

यदि आप अपना सांबा सेवा कॉन्फिगर करते हैं तो इन समस्याओं से निपटने के लिए अन्य तंत्र हैं, लेकिन सांबा का उपयोग करना आसान नहीं है।


/etc/launchd-user.conf का उपयोग करने के पक्ष में पदावनत किया जाता है launchctlसमर्थन
जेस बोवर्स
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.