ऐसा लगता है कि आपके द्वारा चलाए जा रहे उपयोगकर्ता के पास डिफ़ॉल्ट समूह सेट है yuri
। आप इस तरह की पुष्टि कर सकते हैं:
$ id -a
uid=1000(saml) gid=1000(saml) groups=1000(saml),10(wheel),989(wireshark)
आपके खाते का UID यह है: uid=1000(saml)
जबकि डिफ़ॉल्ट समूह है git=1000(saml)
और उसके बाद कोई भी द्वितीयक समूह है।
नोट: यदि आप चाहते हैं कि गिट क्लोन का विशिष्ट स्वामित्व हो, तो आपके पास कम से कम 2 विकल्प हैं।
विकल्प 1
अनुमतियों के साथ एक मूल निर्देशिका सेट करें जैसा आप चाहते हैं:
$ mkdir topdir
$ chgrp http topdir
$ chmod g+s topdir
$ cd topdir
$ git clone ....
इसने इस निर्देशिका topdir
को किसी भी बाल निर्देशिका को लागू करने के लिए मजबूर कर दिया है जिसके पास समूह http
लागू है। यह बड़े पैमाने पर काम करेगा, लेकिन समस्याओं को जन्म दे सकता है, क्योंकि यदि आप फ़ाइलों को इस git क्लोन कार्यक्षेत्र में स्थानांतरित करते हैं, तो उन फ़ाइलों को ऊपर किए गए परिवर्तनों द्वारा लागू नहीं किया जाएगा।
विकल्प 2
काम करने से पहले, अपने डिफ़ॉल्ट समूह को इस http
तरह बदलें :
$ newgrp http
$ git clone ...
यह विधि http
आपके सामान्य डिफ़ॉल्ट समूह के बजाय उनके समूह को सेट करने के लिए बनाई गई किसी भी नई फ़ाइल को बाध्य करेगी yuri
, लेकिन यह केवल तब तक काम करेगी जब तक आप newgrp
इस कार्यक्षेत्र में काम करने से पहले याद रखें ।
अन्य विकल्प
यदि इनमें से कोई भी स्वीकार्य नहीं लगता है तो आप git कार्यक्षेत्र निर्देशिका पर ACL का उपयोग करने का प्रयास कर सकते हैं। इस साइट पर कई क्यू एंड ए में चर्चा की गई है, जैसे कि इस प्रश्नोत्तर में शीर्षक: लिनक्स के लिए समूह की अनुमति के लिए नई फाइलें प्राप्त करना ।
newgrp
। फिर, क्या यह केवल वर्तमान शेल के लिए समूह बदलता है? और अंत में, बिंदु केवल विशिष्ट फ़ाइलों / निर्देशिकाओं को वेब सर्वर द्वारा लिखने के लिए सुलभ बनाना था। आखिरकार, मुझे शायद उन्हें मैन्युअल रूप से ठीक करना चाहिए, या कुछgit
हुक सेट करना चाहिए ...