我正在尝试配置 ProFTPD 以匹配以下情况:
- 单个 IP 地址上有多个域名。
- 每个域都应该有自己的匿名 FTP 目录。
- 一切都在 Ubuntu 12.04LTS VPS 服务器上运行。
例如,应该有一个ftp://example.com和ftp://其他域名.com,都有自己的目录,都只允许匿名下载。
我知道我需要创建一个 IP 别名(使用ifconfig eth0:0 192.168.1.100
(和 192.168.1.101 类似)完成)并在 proftpd.conf 或 virtuals.conf 中设置虚拟主机(都试过了)。这是我目前拥有的
<VirtualHost example.com>
ServerName "Example.com download"
DefaultRoot /var/www/example.com/ftp
MaxClients 10
<Anonymous /var/www/example.com/ftp>
User ftp
Group ftp
UserAlias anonymous ftp
RequireValidShell no
DisplayLogin welcome.msg
DisplayChdir .message
<Limit LOGIN>
AllowAll
</Limit>
</Anonymous>
</VirtualHost>
每当我尝试使用此配置访问服务器时,系统都会要求输入密码。无论我输入什么密码,都无法继续。
我看到一些资料声称 ProFTPD 无法做到这一点,我也看到一些资料给出了如何使其工作的说明(我还没能运行)。许多网络主机在其较便宜的帐户上都有这种配置,所以这应该是可能的,尽管 ProFTPd 可能不行。
有人能帮忙配置这种类型的设置吗?
答案1
不知道您是否仍然遇到此问题(9 个月以上),但此配置对我来说有效:
<VirtualHost example.edu>
RequireValidShell off
ServerName "Anonymous FTP Server"
Port 4001
Umask 027
<Limit LOGIN>
DenyAll
</Limit>
<Anonymous /home/ftp/>
User ftp
Group nogroup
UserAlias anonymous ftp
<Limit LOGIN>
AllowAll
</Limit>
<Limit WRITE>
DenyAll
</Limit>
<Directory incoming>
<Limit WRITE>
AllowAll
</Limit>
</Directory>
</Anonymous>
TransferLog /var/log/proftpd/xferlogs/anon.log
# pre-def for firewall.
PassivePorts 49152 50000
</VirtualHost>