एक्सेस कंट्रोल लिस्ट
सीधे उत्तर एक्सेस कंट्रोल लिस्ट (ACL) है । हाँ, आप एक प्रतिसाद पा सकते हैं, लेकिन वे व्यवहार में काफी अच्छे हैं (केवल समूह लेखन क्षमता के विपरीत जिसके लिए उपयोगकर्ताओं को हर समय इसके बारे में सोचना पड़ता है)। उन्हें जो आवश्यकता होती है वह यह है कि सिस्टम एडमिनिस्ट्रेटर (रूट) समूहों को परिभाषित करता है, यदि आप चाहते हैं कि फाइलें केवल एक नामित समूह द्वारा साझा की जाएं (रूट प्रतिनिधि को चुन सकते हैं, उदाहरण के लिए LDAP से समूहों को स्वीकार करके, लेकिन यह एक और कहानी है)।
आपके पास भाग लेने वाले उपयोगकर्ताओं को 022 के उमर रखने की आवश्यकता है। यदि वे नियमित रूप से गैर-विश्व पठनीय फ़ाइलों को बनाते हैं, तो यह योजना काम करेगी। लेकिन अगर उनके पास एक प्रतिबंधात्मक उम्मा है, तो यह संभवतः है क्योंकि वे वैसे भी फाइलें साझा नहीं करना चाहते हैं।
एसीएल को सक्षम करना
उबंटू डिफ़ॉल्ट रूप से एसीएल को सक्षम नहीं करता है, इसलिए एक बार की व्यवस्थापक आवश्यकता है। /etc/fstab
अपने पसंदीदा संपादक का उपयोग करके संपादित करें , और एक फाइल सिस्टम के अनुरूप हर पंक्ति को बदलें जहां आप फ़ाइलों को साझा करना चाहते हैं: acl
विकल्पों में जोड़ें । (यह सुनिश्चित करें कि किसी अन्य पंक्ति को नहीं बदलना है, और लंबी लाइनों को लपेटने वाले संपादक का उपयोग नहीं करना है।) यहां acl
विकल्प के साथ एक उदाहरण रेखा दी गई है:
UUID=5e1ec7ed-face-dead-beef-c011ec7ab1e5 / ext4 errors=remount-ro,acl 0 1
पहली बार प्रभावी होने के विकल्प के लिए, निम्न जैसे कमांड का उपयोग करें (प्रत्येक फाइलसिस्टम के लिए):
sudo mount -o remount,acl /
acl
पैकेज से ACL उपकरण स्थापित करें ।
साझा निर्देशिका की स्थापना
समूह द्वारा साझा की गई फ़ाइलें mygroup
:
setfacl -m group:mygroup:rwx /path/to/shared/root
setfacl -d -m group:mygroup:rwx /path/to/shared/root
यदि लोग फ़ाइलें बनाते हैं और उन्हें साझा निर्देशिका में कॉपी करते हैं, तो फ़ाइलें विश्व-पठनीय होंगी (उमंग के कारण) और समूह में कोई भी फ़ाइलों को जोड़ सकता है और हटा सकता है (क्योंकि समूह समूह-लेखन योग्य है)। लोग एक-दूसरे की फ़ाइलों को संपादित नहीं कर सकते हैं, लेकिन यह एक अच्छी बात है या आप सीधे संपादन संघर्षों में भाग लेंगे।
यदि आपके पास एक यूनिक्स समूह नहीं है, तो आप उपयोगकर्ताओं को एक-एक करके जोड़ सकते हैं:
setfacl -m user:bob:rwx /path/to/shared/root
setfacl -d -m user:bob:rwx /path/to/shared/root
संस्करण नियंत्रण
यदि आप चाहते हैं कि लोग जगह-जगह फाइलों को संपादित करने में सक्षम हों, तो आपको संपादन संघर्षों को रोकने के लिए भी कुछ चाहिए। यह संस्करण नियंत्रण है।
Git रिपॉजिटरी को साझा करने के लिए आपको इसकी कोई आवश्यकता नहीं है। आप जानते हैं कि गाइटोसिस जैसे समाधान हैं, इसलिए उनका उपयोग करें।