Wget: c'è un modo per passare nome utente e password da un file?


22

Esiste un modo per passare il nome utente e la password da un file anziché dalla riga di comando tramite --user e --password?

Sfondo: voglio eseguire wget tramite cron e non voglio che il nome utente / la password vengano visualizzati nella vista di processo

Risposte:


13

Utilizzare un .wgetrcfile ( manuale GNU ) in cui è possibile impostare nome utente e password per entrambi o ftp e http.

Per utilizzare le stesse credenziali per entrambi specificare

user=casper
password=CasperPassword

o individualmente

ftp_user=casperftp
ftp_password=casperftppass
http_user=casperhttp
http_password=casperhttppass

2
Il manuale di GNU wget suggerisce anche l'uso -idell'opzione e l'inserimento di nome utente e password dall'input standard.
— Richard,

Offre .wgetrcla flessibilità di lavorare con più di un server? In caso contrario, .netrcè una soluzione migliore, vedi l'altra risposta da tobias.pal
— reno

Ovviamente mi sono perso wget usando un .netrcfile, ma è documentato .
— Mike Renfro,

19

Sono sorpreso che nessuno abbia menzionato il .netrcfile. Innanzitutto crea il file se non esiste e imposta autorizzazioni sicure:

touch ~/.netrc
chmod 600 ~/.netrc

Quindi puoi aggiungere il nome host, il nome utente e la password tutti su una riga:

echo 'machine example.com login casper password CasperPassword' >> ~/.netrc

Quindi quando lo fai wget https://example.come il server risponde 401 Authorization Required, wget riproverà con il nome utente e la password dal ~/.netrcfile.

Quando lo usi da cron assicurati di avere la HOMEdirectory giusta . Spesso cron set HOME=/(in quel caso dovresti creare il file come /.netrc, ma è meglio impostare un proprio HOMEall'inizio del tuo script, come export HOME=/root).

È possibile specificare più host in ~/.netrc, uno per riga. Maggiori informazioni in man netrc.


2
Per la sintassi di .netrc, consultare il relativo manuale o il relativo documento di arricciatura .
— reno

All'inizio sono troppo disinteressato per vedere l' man netrcOP, chiedendomi PERCHÉ funziona, quindi @ryenus il tuo commento mi salva, grazie ~ Il manuale è sempre il benvenuto: P Quindi so che è un file rc usato da ftp, cioè potrebbe non funziona per http. Lo proverò su http più tardi.
— Weekend

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.