Wget: Apakah ada cara untuk mengirimkan nama pengguna dan kata sandi dari suatu file?


22

Apakah ada cara untuk meneruskan nama pengguna dan kata sandi dari file alih-alih baris perintah melalui --user dan --password?

Latar Belakang: Saya ingin menjalankan wget melalui cron dan tidak ingin nama pengguna / kata sandi muncul di tampilan proses

Jawaban:


13

Gunakan .wgetrcfile ( manual GNU ) di mana Anda dapat mengatur nama pengguna dan kata sandi untuk salah satu atau keduanya ftp dan http.

Untuk menggunakan kredensial yang sama untuk keduanya, tentukan

user=casper
password=CasperPassword

atau secara individual

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

2
Manual wget GNU juga menyarankan penggunaan -iopsi dan memasukkan nama pengguna dan kata sandi dari input standar.
— Richard

Apakah .wgetrcmemberikan fleksibilitas untuk bekerja dengan lebih dari satu server? Jika tidak, .netrcadalah solusi yang lebih baik, lihat jawaban lain dari tobias.pal
— ryenus

Saya jelas melewatkan wget menggunakan .netrcfile, tetapi itu didokumentasikan .
— Mike Renfro

19

Saya terkejut tidak ada yang menyebutkan .netrcfile. Pertama buat file jika tidak ada dan atur izin aman:

touch ~/.netrc
chmod 600 ~/.netrc

Kemudian Anda dapat menambahkan nama host, nama pengguna dan kata sandi semua dalam satu baris:

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

Kemudian ketika Anda melakukannya wget https://example.comdan server merespons 401 Authorization Required, wget akan mencoba lagi dengan nama pengguna dan kata sandi dari ~/.netrcfile tersebut.

Saat menggunakan ini dari cron pastikan Anda memiliki HOMEdirektori yang benar . Seringkali set cron HOME=/(dalam hal ini Anda harus membuat file sebagai /.netrc, tetapi lebih baik untuk menetapkan yang tepat HOMEdi awal skrip Anda, seperti export HOME=/root).

Anda dapat menentukan beberapa host dalam ~/.netrcsatu host per baris. Info lebih lanjut di man netrc.


2
Untuk sintaksis .netrc, lihat manualnya , atau dokumen ikal terkait .
— ryenus

Pada awalnya saya terlalu ceroboh untuk melihat man netrcdi OP, bertanya-tanya MENGAPA ini bekerja, kemudian @ryenus komentar Anda menyelamatkan saya, terima kasih ~ Manual selalu diterima: P Lalu saya tahu itu adalah file rc yang digunakan oleh ftp, yaitu, mungkin tidak berfungsi untuk http. Saya akan mencobanya di http nanti.
— Akhir pekan

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.