2011-09-23 15 views
7

Perché il trucco con il mio file .netrc non funziona (anche se ha filepermissions corrette), ho modificato il mio .git local/config di come in questo modo:È pericoloso includere la password googlecode in .git/config?

[remote "origin"] 
    fetch = +refs/heads/*:refs/remotes/origin/* 
    url = https://<username>:<password>@code.google.com/p/<project>/ 

ho subito clonato il repository per controllare se la password fosse ancora inclusa, e non lo fosse.

Ho anche uno specchio ospitato su github, se è importante.

Quindi è in qualche modo pericoloso?

risposta

5

Quindi è in qualche modo pericoloso?

I file nella directory .git sono strettamente parte del repository locale; non vengono spinti verso i tuoi repository remoti. Quindi sei al sicuro nel senso che non stai pubblicando la tua password sulla rete.

D'altra parte, qualsiasi sistema che richiede di memorizzare la password nel proprio filesystem locale significa che qualcuno con accesso al proprio file system può potenzialmente recuperare la propria password. Sfortunatamente, dal momento che Google non supporta l'accesso al repository su ssh, non c'è molto che tu possa fare al riguardo (beh, puoi decidere di utilizzare esclusivamente Github, che ti dà l'autenticazione della chiave pubblica/privata che è un sostanziale passo avanti nella sicurezza).

quanto riguarda l'uso del file .netrc, Google Git FAQ dice:

ho messo le mie credenziali in .netrc, quindi perché fa git ancora mi chiedono una password?

Il client C git richiede sempre una password se si dispone di un nome utente nell'URL. Controlla la riga di comando e il file .git/config e assicurati che gli URL code.google.com non contengano lo nome utente (la parte fino alla @).

+0

Conosco quella parte dalle FAQ - e in modo esilarante, git mi chiede il mio nome utente e password se rimuovo il mio nome utente (e password) dalla riga 'url'. Chissà cosa sta succedendo! – hiobs

+0

Per quello che vale, ho appena convertito uno dei miei vecchi progetti Google Code in git e ho impostato il '.netrc' come descritto e funziona perfettamente. Questo sta usando git versione 1.7.6 sotto Linux. – larsks

+0

Ho git versione 1.7.4. Forse è questa la ragione? In qualche modo lo troverei difficile da credere, ma non ne ho davvero la minima idea ... – hiobs