Safe FTP/wget Usage
Using a .netrc File¶
The Problem¶
Here we have a user who is downloading some_genome_file.fa
from where it is hosted at
https://someremotesite.org
. They started the download with this command:
$ wget --user=bob --password=SEcrEt --continue https://someremotesite.org/some_genome_file.fa .
The file is downloading nicely but if another user runs ps
or top
they will see the
list of the processes running on the system can see your password:
$ ps aux | grep wget
bob 11705 pts/12 0:08 wget wget --user=bob --password=SEcrEt --continue https://someremotesite.org/somefile.fa .
Here they can see user Bob’s process number 11705 downloading the file and Bob’s username and password at that site.
The Solution¶
Use a .netrc
or a .wgetrc
file. This is a file that you create in your $HOME
directory.
Give it permissions of 600
. Insert you username and password in that file.
The wget, ftp and curl programs will automatically use a .netrc
if it is there.
A .netrc
file example:
login bob
password SEcrEt
Do not leave extra newlines at the end of your netrc file. Some applications might interpret these as missing additional entries.
Do a man netrc
and man wget
for the details. Search the internet for examples on how
to use them.