Каталоги должны иметь разрешение 755;файлы должны иметь разрешение 644.
Это очень хорошее эмпирическое правило, если только вы не ожидаете, что члены вашей группы внесут изменения в ваш репозиторий.файлы под .git/objects/*
имеют разрешение 444 (только для чтения) для всех.Другие файлы имеют размер 644.
Этот скрипт, запускаемый в каталоге верхнего уровня чуть выше репозитория .git
, исправит права:
find .git -type d | xargs chmod 755
find .git/objects -type f | xargs chmod 444
find .git -type f | grep -v /objects/ | xargs chmod 644
Я начал с -print0
для первых двух команд find
и xargs -0
для обеспечения удаленной возможности пробелов в именах файлов.Но с grep -v
в третьей команде было бы трудно справиться с форматом -print0
- поэтому я пропустил обозначение пробела во всех командах, зная, что git
не создает файлы с пробелами в именах под .git
каталог.