Gli elenchi devono disporre dell'autorizzazione 755; i file dovrebbero avere il permesso 644.
Questa è una buona regola empirica a meno che non ci si aspetti che membri del proprio gruppo apporti modifiche al proprio repository.
Detto questo, in uno dei miei repository, i file sotto .git/objects/*
hanno un'autorizzazione 444 (sola lettura) per tutti. Altri file sono 644 come suggerito.
Questo script, eseguito nella directory di livello superiore appena sopra il repository .git
avrebbe risolto i permessi:
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
Ho iniziato con -print0
per i primi due find
comandi e xargs -0
per consentire la remota possibilità di spazi nei nomi dei file. Ma il grep -v
nel terzo comando sarebbe difficile da gestire con il formato -print0
- quindi ho omesso la notazione in base allo spazio di tutti i comandi, sapendo che git
non crea file con spaziatura nei nomi sotto la directory .git
.
fonte
2010-09-06 02:54:52
Grazie per quello –
ho ricevuto un messaggio di autorizzazione negato/FETCH_HEAD quando ho eseguito '' 'git pull''' indipendentemente dalle autorizzazioni impostate su di esso. Questo ha risolto il problema e mi ha aiutato a impostare le autorizzazioni di gruppo. Grazie! – bzuillsmith
Qual è il minimo però. Non possiamo andare a 750 sulle directory e 440/640 sugli oggetti? Supponendo che l'env sia configurato correttamente, con gruppi. – blamb