Copyright (C) 2003, Sun Microsystems, Inc. All Rights Reserved
The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
/etc/ftpd/ftpservers
The ftpservers file is used to configure complete virtual hosting. In contrast to limited virtual hosting, complete virtual hosting allows separate configuration files to be specified for each virtual host.
The set of configuration files for each virtual host are placed in their own directory. The ftpservers file associates the address of each virtual host with the directory its configuration files are stored in. The virtual host configuration files must be named:
ftpaccess
Virtual host's access file
ftpusers
Restricts the accounts that can use the virtual host
ftpgroups
Virtual hosts enhanced group access file
ftphosts
Allow or deny usernames access to the virtual host
ftpconversions
Customize conversions available from the virtual host
You do not need to put every file in each virtual host directory. If you want a virtual host to use the master copy of a file, then do not include it in the virtual host directory. If the file is not included, the master copy from the /etc/ftpd directory will be used.
The file names must match exactly. If you misspell any of them or name them differently, the server will not find them, and the server will use the master copy instead.
The ftpaddhost utility is an administrative tool to configure virtual hosts. See ftpaddhost(1M).
There are two fields to each entry in the ftpservers file:
address directory-containing-configuration-files
For example:
10.196.145.10 /etc/ftpd/virtual-ftpd/10.196.145.10 10.196.145.200 /etc/ftpd//virtual-ftpd/10.196.145.200 some.domain INTERNAL
When an FTP client connects to the FTP Server, in.ftpd(1M) tries to match the IP address to which the FTP client connected with one found in the ftpservers file.
The address can be an IPv4 or IPv6 address, or a hostname.
If a match is found, The FTP server uses any configuration files found in the associated directory.
If a match is not found, or an invalid directory path is encountered, the default paths to the configuration files are used. The use of INTERNAL in the example above fails the check for a specific directory, and the master configuration files will be used.
Either the actual IP address or a specific hostname can be used to specify the virtual host. It is better to specify the actual IP of the virtual host, as it reduces the need for a domain lookup and eliminates DNS security related naming issues, for example:
10.196.145.20 /etc/ftpd/config/faqs.org/ ftp.some.domain /etc/ftpd/config/faqs.org/
Lines that begin with a # sign are treated as comment lines and are ignored.
See attributes(5) for descriptions of the following attributes:
ATTRIBUTE TYPE | ATTRIBUTE VALUE |
Interface Stability | External |
ftpaddhost(1M), in.ftpd(1M), ftpaccess(4), ftpconversions(4), ftpgroups(4), ftphosts(4), ftpusers(4), attributes(5)