Password

Wget:有沒有辦法從文件中傳遞使用者名和密碼?

  • February 25, 2016

有沒有辦法通過 –user 和 –password 從文件而不是命令行傳遞使用者名和密碼?

背景:我想通過 cron 執行 wget 並且不希望使用者名/密碼顯示在程序視圖中

使用一個.wgetrc文件(GNU 手冊),您可以在其中為 ftp 和 http 設置使用者名和密碼。

要對兩者使用相同的憑據,請指定

user=casper
password=CasperPassword

或單獨

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

我很驚訝沒有人提到這個.netrc文件。如果文件不存在,首先創建文件並設置安全權限:

touch ~/.netrc
chmod 600 ~/.netrc

然後您可以在一行中添加主機名、使用者名和密碼:

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

然後,當您這樣做wget https://example.com並且伺服器以 響應時401 Authorization Required,wget 將使用~/.netrc文件中的使用者名和密碼重試。

從 cron 使用它時,請確保您擁有正確的HOME目錄。通常 cron 集HOME=/(在這種情況下,您必須將文件創建為/.netrc,但最好HOME在腳本的開頭設置適當的,例如export HOME=/root)。

您可以在 中指定多個主機~/.netrc,每行一個。中的更多資訊man netrc

引用自:https://serverfault.com/questions/267470