[Chapter 16] 16.3 FTP Configuration with Net::Netrc
Author: Ellen Siever, Stephen Spainhour & Nathan Patwardhan
Date: 1999-07-02T01:57:39Z

#

| Chapter 16 FTP |

## 16.3 FTP Configuration with Net::Netrc

Unix-based FTP clients use a file called .netrc, which you can configure to automate FTP access to sites you frequently visit. With a properly defined .netrc file, you can simply execute the FTP command to a favorite FTP host and be automatically logged in to the FTP server. Your .netrc file contains one line for each connection you want to be able to make. The following tokens can be specified for each entry:

`machine` `name`

  Specifies a remote machine to which you want to autologin:

  >     machine remotehost.com

  Instead of `machine` `name`, you can specify the single word `default` to match any machine name. This is usually used for anonymous logins to machines not listed in .netrc.
`login` `name`

  If present, identifies the user who logs in to the remote machine, where `name` is the login name.

`password` `passwd`

  If present, gives the password for the user. The autologin process uses the specified password if the remote server requires one.

`account` `acctpw`

  If present, gives an additional password for the user. The autologin process uses this password if the remote server requires one.

`macdef` `name`

  If present, defines a macro with the specified name. Net::Netrc simply parses this field, in order to maintain compatibility with FTP.

Here's an example of a typical .netrc entry:

>     machine remotehost.com login username password userpasswd

Entering your username and password for remote sites in unencrypted form has serious security implications. Many sites consider .netrc files a violation of security policy and do not allow them. In addition, most FTP clients require that the .netrc file be owned by you and readable only by you, with permissions set to 0400 or 0600. If the permissions aren't correctly set, the autologin process aborts. Net::Netrc follows this security convention - if the permissions and ownership are not correct, the .netrc file isn't read, and a warning message is issued.

Net::Netrc implements a simple interface to the .netrc file, telling you which hosts you can automatically connect to. It doesn't actually connect to any remote hosts; it's simply used to query your configuration file and return the value of the tokens.

The following methods are supplied by Net::Netrc:

- lookup
- account
- lpa
- login
- password

16.2 Net::FTP |  | 17. The LWP Library