虚拟主机托管允许 FTP 服务器支持同一计算机上的多个域。每个虚拟主机需要单独的逻辑接口和 IP 地址。
FTP 服务器支持两种类型的虚拟主机托管:有限和完整。使用有限虚拟主机托管时,将对所有虚拟主机使用相同的配置文件。使用完整虚拟主机托管时,将对每个虚拟主机使用单独的配置文件。
缺省情况下,不允许实际用户和临时用户登录到虚拟主机。您可以设置以下 ftpaccess 指令来覆盖缺省值。
To allow access to specific users: virtual address allow username To deny access to anonymous users: virtual address private username |
有关详细信息,请参见 ftpaccess(4)。
有限虚拟主机托管提供对虚拟 FTP 服务器的部分支持。可以通过指定虚拟根目录来启用对有限虚拟主机托管的支持。如果需要,也可以在 ftpaccess 文件中设置虚拟主机的以下参数:
banner
logfile
hostname
ftpaccess 文件中的所有指令在所有虚拟服务器中全局共享。
成为超级用户或承担等效角色。
角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”。有关如何使用主管理员配置文件配置角色,请参见《系统管理指南:基本管理》中的第 2 章 “使用 Solaris Management Console(任务)”。
将以下项添加到 ftpaccess 文件中。
virtual address root|banner|logfile path virtual address hostname|email string |
用于启用虚拟服务器功能的关键字
虚拟服务器的 IP 地址
虚拟服务器的根目录
连接到虚拟服务器时将显示的标题文件
虚拟服务器上的文件传送记录
用于指定虚拟服务器上的目录和文件位置的变量
消息文件和 HELP 命令中使用的电子邮件地址
问候消息或状态命令中显示的主机的名称
用于指定 email 或 hostname 参数的变量
虽然可以使用 hostname 作为虚拟服务器的 address,但强烈建议您使用 IPv4 地址。为了匹配 hostname,接收 FTP 连接时 DNS 必须可用。对于 IPv6 主机,请使用主机名而不要使用 IPv6 地址。
virtual 10.1.2.3 root /var/ftp/virtual/ftp-serv virtual 10.1.2.3 banner /var/ftp/virtual/ftp-serv/banner.msg virtual 10.1.2.3 logfile /var/log/ftp/virtual/ftp-serv/xferlog |
上面的示例在虚拟 FTP 服务器上设置 root 目录、banner 和 logfile 的位置。
带有 -l 选项的ftpaddhost(1M) 脚本可用于配置有限虚拟主机。
在以下示例中,运行带有 -l -b -x 选项的 ftpaddhost,可以使用虚拟根 /var/ftp/virtual/10.1.2.3 下的测试标题和日志文件 /var/ftp/virtual/10.1.2.3/xferlog 配置有限虚拟主机托管。
# ftpaddhost -l -b -x /var/ftp/virtual/10.1.2.3/xferlog \ /var/ftp/virtual/10.1.2.3 |
完整虚拟主机托管允许每个虚拟域使用单独的配置文件。要在 FTP 服务器上启用对虚拟主机托管的完整支持,可以创建或修改特定域的以下 FTP 配置文件:
ftpaccess
ftpusers
ftpgroups
ftphosts
ftpconversions
有关详细信息,请参见 ftpaccess(4)、ftpusers(4)、ftpgroups(4)、ftphosts(4) 和 ftpconversions(4)。
如果单独版本的配置文件不可用,则可以使用 /etc/ftpd 目录中的主版本的文件。
成为超级用户或承担等效角色。
角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”。有关如何使用主管理员配置文件配置角色,请参见《系统管理指南:基本管理》中的第 2 章 “使用 Solaris Management Console(任务)”。
将以下项添加到 /etc/ftpd/ftpservers 文件中。
address /config-file-dir |
虚拟服务器的 IP 地址
包含对虚拟主机自定义的配置文件的目录
虽然可以使用 hostname 作为虚拟服务器的 address,但强烈建议您使用 IPv4 地址。为了匹配 hostname,接收 FTP 连接时 DNS 必须可用。对于 IPv6 主机,请使用主机名而不要使用 IPv6 地址。
要为虚拟主机创建自定义版本的 FTP 服务器配置文件,请将主版本的文件从 /etc/ftpd 复制到 /config-file-dir 目录中。
有关详细信息,请参见 ftpservers(4)。
# # FTP Server virtual hosting configuration file # 10.1.2.3 /net/inet/virtual/somedomain/ 10.1.2.4 /net/inet/virtual/anotherdomain/ |
上面的示例为虚拟服务器上的两个不同域指定 IP 地址。
带有 -c 选项的ftpaddhost(1M) 脚本可用于配置完整虚拟主机。
在以下示例中,运行带有 -c -b -x 选项的 ftpaddhost,可以使用虚拟根 /var/ftp/virtual/10.1.2.3 下的测试标题和日志文件 /var/ftp/virtual/10.1.2.3/xferlog 配置完整虚拟主机托管。
# ftpaddhost -c -b -x /var/ftp/virtual/10.1.2.3/xferlog \ /var/ftp/virtual/10.1.2.3 |