.netrc

From Christoph's Personal Wiki
Jump to: navigation, search

The .netrc file contains configuration and autologin information for the File Transfer Protocol client ftp. (note: It is usually located in your home directory; if not, create one.)

man page

The .netrc file contains login and initialization information used by the auto-login process. It resides in the user's home directory. The following tokens are recognized; they may be separated by spaces, tabs, or new-lines:

machine name
Identify a remote machine name The auto-login process searches the .netrc file for a machine token that matches the remote machine specified on the ftp command line or as an open command argument. Once a match is made, the subsequent .netrc tokens are processed, stopping when the end of file is reached or another machine or a default token is encountered.
default
This is the same as machine name except that default matches any name. There can be only one default token, and it must be after all machine tokens. This is normally used as:
default login anonymous password user@site
thereby giving the user automatic anonymous ftp login to machines not specified in .netrc This can be overridden by using the -n flag to disable auto-login.
login name
Identify a user on the remote machine. If this token is present, the auto-login process will initiate a login using the specified name.
password string
Supply a password. If this token is present, the auto-login process will supply the specified string if the remote server requires a password as part of the login process. Note that if this token is present in the .netrc file for any user other than anonymous ftp will abort the auto-login process if the .netrc is readable by anyone besides the user.
account string
Supply an additional account password. If this token is present, the auto-login process will supply the specified string if the remote server requires an additional account password, or the auto-login process will initiate an ACCT command if it does not.
macdef name
Define a macro. This token functions like the ftp macdef command functions. A macro is defined with the specified name; its contents begin with the next .netrc line and continue until a null line (consecutive new-line characters) is encountered. If a macro named init is defined, it is automatically executed as the last step in the auto-login process.

Examples

Turn on FTP client auto login

You need to add username and password to file ~/.netrc.

  • Append or add following lines to it:
machine ftp.myserver.com login USERNAME password PASSWORD
  • Important! Make sure, only owner can read the file:
% chmod 0600 ~/.netrc
  • To connect type command:
% ftp ftp.example.com

Macros

If every time you connected to ftp server you would like to switch to binary mode and turn off prompt as well as go to directory /pub/data/foo/, it is best to create a macro to automate all three steps.

  • Append following text to .netrc file:
macdef FOO
bin
prom
cd /pub/data/foo/
ls
  • Now connect to ftp server:
% ftp ftp.example.com
  • To execute macro FOO type command:
ftp> $ FOO