बहु-उपयोगकर्ता प्रणालियों के साथ यही समस्या है, खासकर यदि आपके पास उनमें से एक से अधिक है। ;) आप क्या चाहते हैं करने के लिए वास्तव में कोई अच्छा तरीका नहीं है । दिमाग में आने वाले दृष्टिकोण होंगे
- आपके द्वारा अपने बाह्य ड्राइव (वास्तव में संभव नहीं होने पर, संभवत: सभी मशीनों के आपके नियंत्रण में नहीं हैं) का उपयोग करके प्रत्येक मशीन पर आपके खाते के लिए समान यूआईडी होना
- मालिक / समूह से अनभिज्ञ फ़ाइल सिस्टम का उपयोग करना (FAT या NTFS के दिमाग में आना, लेकिन ... आआह, नहीं)
सबसे प्रभावी दृष्टिकोण आम प्रथाओं पर वापस आ जाएगा। अधिकांश (कम से कम) लिनक्स सिस्टम पर, कुछ समूह मौजूद होते हैं जिनमें आमतौर पर सामान्य GID होते हैं। उदाहरण के लिए users
, जो 100
अधिकांश लिनक्स डिस्ट्रोस पर GID होता है। यदि आप इस समूह में अपने संबंधित उपयोगकर्ता खाते का प्रबंधन कर सकते हैं, तो आप कर सकते हैं
- इस समूह के स्वामित्व वाली आपकी ड्राइव पर सभी फाइलें और निर्देशिकाएं बनाएं
- किसी तरह उन फ़ाइलों और निर्देशिकाओं पर उपयुक्त समूह-अनुमतियाँ प्रबंधित करें
- किसी तरह उचित समूह-स्वामित्व सम्मान के साथ बनाई गई नई फ़ाइलों का प्रबंधन करें। अनुमतियाँ।
पहले और दूसरे बिंदु को पूरा करना आसान है ( chown
, chmod
)। थर्ड पॉइंट थोड़ा पेचीदा हो जाता है।
"समूह-स्वामित्व" भाग अपेक्षाकृत आसान है: आप ड्राइव पर सभी निर्देशिकाओं में SGID बिट सेट कर सकते हैं। निर्देशिकाओं पर लागू SGID बिट, BSDish तरीके से व्यवहार करने के लिए कर्नेल को बताता है: BSD एक विशिष्ट निर्देशिका समूह के स्वामित्व में बनाई गई हर फ़ाइल / निर्देशिका को फ़ाइल / निर्देशिका बनाने की प्रक्रिया के प्राथमिक समूह के स्वामित्व में बनाता है (जैसा कि लिनक्स करता है), लेकिन मूल-निर्देशिका के स्वामी द्वारा।
अनुमति बिट थोड़ा कठिन है। फ़ाइलें / निर्देशिका नव निर्मित की अनुमतियां हैं (अन्य लोगों) से प्रभावित umask
, थोड़ा-मुखौटा कह जो बिट्स नहीं सेट करने के लिए करता है, तो स्पष्ट रूप से कहा नहीं। umask
उदाहरण के लिए एक सामान्य मूल्य है 022
, जिसका अर्थ है कि »समूह« और »दूसरों के लिए राइट-बिट्स आमतौर पर सेट नहीं होना चाहिए। आप अपने umask
को बदल सकते हैं 002
, यह बताकर कि आप लिखना-अनुमतियाँ समूह के लिए साफ़ नहीं करना चाहते हैं, लेकिन नकारात्मक पक्ष यह है कि आप यह मान निर्देशिका-आधारित नहीं सेट कर सकते हैं और आप आमतौर पर लेखन-अनुमति नहीं लेना चाहते हैं आपके द्वारा बनाई गई प्रत्येक फ़ाइल के लिए आपका प्राथमिक समूह सेट है।
यह ACL का उपयोग करके हल किया जा सकता है: एक ACL में आप एक mask
और एक सेट सेट कर सकते हैं default
, जो इस ACL सेट के साथ एक निर्देशिका के अंदर बनाई गई सभी फ़ाइलों और निर्देशिकाओं पर लागू होता है। तो आपकी समस्या का एक संभावित समाधान होगा
- सुनिश्चित करें कि आप उन सभी प्रणालियों पर एक सामान्य समूह के सदस्य हैं जिन पर आप अपनी बाहरी ड्राइव का उपयोग करना चाहते हैं
- इस समूह के स्वामित्व वाली आपकी ड्राइव पर सभी फाइलें और निर्देशिकाएं बनाएं और सभी निर्देशिकाओं पर SGID बिट सेट करें
- मास्क और डिफ़ॉल्ट अनुमतियों को शामिल करने के लिए सभी निर्देशिकाओं के एसीएल को बदलें जो समूह के लिए सेट-राइट-अनुमतियों के साथ हर नई फ़ाइल / निर्देशिका बनाने के लिए कर्नेल को बताता है।
अधिक विवरण के लिए देखें setfacl(1)
, और acl(5)
।