C'è molto dibattito su questo. Mentre la risposta di Neil è corretta, la memorizzazione di credenziali sul tuo computer è intrinsecamente rischiosa. Anche se li si cripta e li si archivia in una posizione unica, il software che si esegue deve accedere alle chiavi di crittografia. Se inserisci le chiavi di crittografia ogni volta (o una password per sbloccarle o simili), potrebbe essere altrettanto semplice inserire le credenziali.
Questo problema non è unico per le password. Un * x tende a fare molto affidamento sui permessi dei file (controllo degli accessi), ma non possono differenziare un processo in esecuzione come utente da un altro. Ad esempio, anche le chiavi private SSH memorizzate in ~/.ssh
rappresentano un rischio.
Il vantaggio principale di una posizione standard per credenziali come .netrc
è tenerli separati dagli script o da altri programmi che li utilizzano. Ad esempio, se si scrive uno script di shell che automatizza una sessione FTP, incorporando il nome utente e la password nello script anziché un file .netrc
, le credenziali vengono inavvertitamente condivise poiché lo script è archiviato nel controllo sorgente o copiato in altri sistemi.
L'utilizzo di una posizione centrale come .netrc
consente anche alle persone di avere le proprie credenziali per accedere ai sistemi. Gli account condivisi sono disapprovati perché le attività non possono essere attribuite a un individuo. Altrimenti, gli individui hanno bisogno delle proprie copie di script.
Il secondo vantaggio è avere una sola posizione per aggiornare le credenziali modificate. Se più script o programmi utilizzano le stesse ma vecchie credenziali, è possibile bloccare gli account. La modifica del file .netrc
può aggiornare più script o programmi contemporaneamente.
Detto questo, la crittografia delle password a riposo impedisce l'accesso involontario alle password, ad esempio tramite backup, spalline o simili. Se è necessario memorizzare le credenziali su un sistema, considerare qualcosa come un archivio crittografato sul file .netrc
di testo normale se disponibile. Ad esempio, git ora supporta file .netrc
crittografati .