Це здається, що для користувача, якого ви працюєте, встановлена група за замовчуванням yuri
. Ви можете підтвердити це так:
$ id -a
uid=1000(saml) gid=1000(saml) groups=1000(saml),10(wheel),989(wireshark)
UID вашого облікового запису такий: uid=1000(saml)
тоді як група за замовчуванням є, git=1000(saml)
а будь-які вторинні групи згодом.
ПРИМІТКА. Якщо ви хочете, щоб клон git мав конкретне право власності, у вас є принаймні два варіанти.
Варіант №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
перед роботою в цій робочій області.
Інші варіанти
Якщо жодне з них не здається прийнятним, ви можете спробувати використовувати ACL, а не в каталозі робочої області git. Вони обговорюються в декількох запитаннях на цьому веб-сайті, як, наприклад, у цьому запитанні з питань відповідей: Отримання нових файлів для успадкування групових прав на Linux .
newgrp
. Тоді, чи змінюється група лише для поточної оболонки? І останнє, справа полягала в тому, щоб зробити доступними для запису лише веб-сервером лише певні файли / каталоги. Зрештою, я, мабуть, повинен би їх виправити вручну, або встановити якийсьgit
гачок ...