අවසර පළිබෝධයකි.
මූලික වශයෙන්, එම සියලු සංවර්ධකයින්ට git repo හි ඇති සියල්ලට ලිවිය හැකි බවට ඔබ සහතික විය යුතුය.
සංවර්ධකයින් පිරිසකට ලිවීමේ හැකියාව ලබා දීමේ උසස් ක්රමය සඳහා නව තරංග විසඳුම වෙත යන්න.
සම්මත විසඳුම
ඔබ සියලු සංවර්ධකයින් විෙශේෂෙයන් සාදන ලද කණ්ඩායමකට ඇතුළත් කළහොත්, ඔබට ප්රතිපත්තිමය වශයෙන් කළ හැක්කේ:
chgrp -R <whatever group> gitrepo
chmod -R g+swX gitrepo
ඉන්පසු umask
පරිශීලකයින් සඳහා වෙනස් කරන්න 002
, එවිට කණ්ඩායම් ලිවිය හැකි අවසරයන් සමඟ නව ලිපිගොනු නිර්මාණය වේ.
මෙහි ඇති ගැටළු වන්නේ ලෙජියන් ය; ඔබ උපකල්පනය කරන ඩිස්ට්රෝ එකක සිටී umask
නම් 022
( users
පෙරනිමියෙන් සියල්ලන් ඇතුළත් වන පොදු කණ්ඩායමක් සිටීම වැනි ), මෙය වෙනත් තැනක ආරක්ෂක ගැටළු විවෘත කළ හැකිය. ඉක්මනින් හෝ පසුව, යම් දෙයක් ඔබගේ ප්රවේශමෙන් සකසන ලද අවසර පත්රය ඉවතට හරවා, ඔබ root
ප්රවේශය ලබාගෙන එය නිවැරදි කරන තෙක් (එනම්, ඉහත විධානයන් නැවත ක්රියාත්මක කිරීම) ක්රියාත්මක වේ.
නව තරංග විසඳුම
වඩා හොඳ විසඳුමක් - එතරම් හොඳින් අවබෝධ කර නොතිබුණත්, ඊට වඩා වැඩි මෙහෙයුම් පද්ධතියක් / මෙවලම් සහාය අවශ්ය වේ - POSIX දීර් extended කරන ලද ගුණාංග භාවිතා කිරීම. මම මෙම ප්රදේශයට පැමිණියේ තරමක් මෑතකදී පමණි, එබැවින් මෙහි මගේ දැනුම එය තරම් උණුසුම් නොවේ. නමුත් මූලික වශයෙන්, දීර් AC කරන ලද ACL යනු පෙරනිමි තව් 3 කට වඩා (පරිශීලක / කණ්ඩායම් / වෙනත්) අවසර ලබා දීමට ඇති හැකියාවයි.
එබැවින් නැවත වරක්, ඔබේ කණ්ඩායම නිර්මාණය කර ධාවනය කරන්න:
setfacl -R -m g:<whatever group>:rwX gitrepo
find gitrepo -type d | xargs setfacl -R -m d:g:<whatever group>:rwX
මෙමඟින් සමූහය සඳහා දීර් AC කරන ලද ACL සැකසෙන අතර කණ්ඩායම් සාමාජිකයින්ට දැනටමත් එහි ඇති ඕනෑම ලිපිගොනු කියවීමට / ලිවීමට / ප්රවේශ වීමට හැකි වේ (පළමු පේළිය); නව ලිපිගොනු වලට එකම ACL යෙදිය යුතු බව (දෙවන පේළිය) පවතින සියලුම ඩිරෙක්ටරි වලටද කියන්න.
එය ඔබව මඟට ගෙන එනු ඇතැයි බලාපොරොත්තු වෙමු.