我们目前在ProFTPd 服务器的全局范围内定义以下行:
# Allow max 3 unauthenticated connections by IP
MaxConnectionsPerHost 3 "Sorry, you may not connect more than (%m) times."
# Allow max 3 authenticated connections by IP
MaxClientsPerHost 3 "Sorry, the maximum number clients (%m) from your host are already connected."
# Allow max 10 connection by user
###### MaxClientsPerUser 10 "Sorry, there is already (%m) other connection for this account."
它像有人参与的那样工作,但我们希望允许一些特定的(不是全部)经过身份验证的用户(或作为缺点的 IP)打开比指定的上层更多的连接。
ProFTPd 有可能吗?
是的-> 任何帮助将不胜感激。
否 -> 是否有其他符合这些要求的生产级免费 FTP 服务器,例如 PureFTP 或 vsftpd?
是的,这是可能的,使用
mod_ifsession
's<IfUser>
和<IfClass>
部分。使用该
<IfUser>
部分,您将定义用户特定的部分,如下所示:如果您有很多用户,您还可以考虑使用组而不是单个用户名和
<IfGroup>
部分。对于 IP 地址/范围的限制,我建议使用 ProFTPD 的classes。使用类和 中的
<IfClass>
部分mod_ifsession
,您可以执行以下操作:请注意,同时定义“匹配”规则和“不匹配”规则是一个非常好的主意。
ProFTPD Connection ACLS howto也涵盖了这个主题,并提到了在这个领域也有帮助的其他模块(例如
mod_wrap2
, )。mod_geoip
希望这可以帮助!