मेरे पास एक निश्चित निर्देशिका है जिसमें कई उपयोगकर्ताओं द्वारा साझा की गई एक परियोजना है। ये उपयोगकर्ता इस निर्देशिका तक पहुंच प्राप्त करने और फ़ाइलों को संशोधित / बनाने के लिए SSH का उपयोग करते हैं।
यह परियोजना केवल उपयोगकर्ताओं के एक निश्चित समूह के लिए लेखन योग्य होनी चाहिए: इसे "माइग्रुप" के नाम से जाने देती है। SSH सत्र के दौरान, वर्तमान उपयोगकर्ता द्वारा बनाई गई सभी फाइलें / निर्देशिकाएं डिफ़ॉल्ट रूप से समूह "mygroup" के स्वामित्व में होनी चाहिए और समूह-लेखन योग्य अनुमतियाँ होनी चाहिए।
मैं अनुमतियों की समस्या को हल कर सकता हूं umask:
$ cd project
$ umask 002
$ touch test.txt
फ़ाइल "test.txt" अब समूह-लेखन योग्य है, लेकिन फिर भी मेरे डिफ़ॉल्ट समूह ("गलत", मेरे उपयोगकर्ता नाम के समान) और "माइग्रुप" से संबंधित नहीं है। मैं chgrpइच्छित समूह को सेट करने के लिए पुनरावृत्ति कर सकता हूं , लेकिन मैं यह जानना चाहता था कि कुछ समूह को स्पष्ट रूप से सेट करने का एक तरीका है जैसे umask एक सत्र के दौरान डिफ़ॉल्ट अनुमतियों को बदलता है।
यह विशिष्ट निर्देशिका एक काम की नकल के साथ एक साझा Git रेपो और मैं चाहता हूँ git checkoutऔर git resetसंचालन काम कर प्रतिलिपि में बनाए गए नए फ़ाइलों के लिए सही मुखौटा और समूह स्थापित करने के लिए। ओएस उबुन्टु लिनक्स है।
अपडेट: एक सहकर्मी सुझाव देता है कि मुझे POSIX ACL के गेटफेकल / सेटफैक्ल में देखना चाहिए लेकिन umask 002मौजूदा सत्र में संयुक्त समाधान मेरे लिए काफी अच्छा है और बहुत अधिक सरल है।