Sembra che l'utente che stai utilizzando abbia il gruppo predefinito impostato su yuri. Puoi confermare in questo modo:
$ id -a
uid=1000(saml) gid=1000(saml) groups=1000(saml),10(wheel),989(wireshark)
L'UID del tuo account è questo: uid=1000(saml)mentre il gruppo predefinito è git=1000(saml)e tutti i gruppi secondari sono in seguito.
NOTA: se si desidera che il clone git abbia una proprietà specifica, sono disponibili almeno 2 opzioni.
Opzione 1
Imposta una directory padre con le autorizzazioni che desideri in questo modo:
$ mkdir topdir
$ chgrp http topdir
$ chmod g+s topdir
$ cd topdir
$ git clone ....
Ciò ha costretto la directory topdira imporre tutte le directory secondarie sottostanti per httpapplicare il gruppo . Funzionerà in generale, ma può portare a problemi, poiché se si spostano i file in questo spazio di lavoro del clone git, quei file non avranno i loro gruppi applicati dalle modifiche apportate sopra.
Opzione 2
Prima di fare un lavoro, cambia il tuo gruppo predefinito in questo httpmodo:
$ newgrp http
$ git clone ...
Questo metodo imporrà a tutti i nuovi file creati di impostare il proprio gruppo httpanziché il normale gruppo predefinito di yuri, ma funzionerà solo fintanto che si ricorda di fare un newgrplavoro precedente in questo spazio di lavoro.
Altre opzioni
Se nessuno di questi sembra accettabile, puoi provare a usare gli ACL invece nella directory dell'area di lavoro git. Questi sono discussi in più domande e risposte su questo sito, come in questa domanda e risposta intitolata: Ottenere nuovi file per ereditare le autorizzazioni di gruppo su Linux .
newgrp. Quindi, cambia gruppo solo per la shell corrente? Infine, il punto era rendere accessibili solo i file / le directory specifici per la scrittura sul web server. Dopotutto, dovrei probabilmente risolverli manualmente o installare ungithook ...