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 topdir
a imporre tutte le directory secondarie sottostanti per http
applicare 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 http
modo:
$ newgrp http
$ git clone ...
Questo metodo imporrà a tutti i nuovi file creati di impostare il proprio gruppo http
anziché il normale gruppo predefinito di yuri
, ma funzionerà solo fintanto che si ricorda di fare un newgrp
lavoro 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 ungit
hook ...