配置ProFTPD :也是开放源码的软件,以 GPL 许可发布。ProFTPD 可以说是 wu-ftpd 的替代,同时在安全,可伸缩性等方面有很大的提高。特别是对于熟悉 Apache 配置的人而言,它的配置和 Apache 十分相似,因此,用起来肯定能得心应手。
一、主要特色:
一个单一的和 Apache 的 httpd.conf 类似的配置文件
每个目录下的 .ftpaccess 文件(和 Apache 的. htaccess 类似)
很容易配置的,多个虚拟 FTP 服务器以及匿名 FTP 服务
可以单独运行也可以从 inetd/xinetd 启动
匿名 FTP 的根目录不需要特别的目录结构
系统的二进制文件和其他系统文件没有 SITE EXEC 命令
在单独运行方式下,以非特权用户运行,降低攻击风险
日志以及 utmp/wtmp 支持
二、Shadow 口令支持
截止到本文成稿时, ProFTPD 的最新版本为 v1.2.4 ,为了保证系统安全,建议你总是把软件更新到最新的版本。
- wget ftp://ftp.proftpd.org/distrib/source/proftpd-1.2.4.tar.gz
- ./configure --prefix=/usr/local --enable-shadow
- make (如果是双 CPU 建议采用 make -j3)
- make install
然后你可以发现 ProFTPD 安装在 /usr/local 下,"proftpd" 可以在/usr/local/sbin/ 目录下找到,配置文件 proftpd.conf 位于:/usr/local/etc/ 。
如果你熟悉 Apache 的 httpd.conf 的配置的话, proftpd.conf 的配置十分简单。
- DefaultRoot ~ users, !staff
- ServerIdent On "FreeLAMP FTP Server"
- ServerName ""
- ServerType standalone
- ServerAdmin webmaster@freelamp.com
- Bind 192.168.0.1
- ExtendedLog /var/log/proftpd read,write,auth
- ScoreboardPath /usr/local/var/proftpd
- RequireValidShell Off
- User proftpd
- Group proftpd
下面我们就可以启动了:
- /usr/local/sbin/proftpd &
以上的配置方法十分简单,不再赘述。下面我们看限制匿名用户登录的办法:
- #MaxClients 1 "Maximum users reached - try again later"
- #MaxClients 1 "Sorry, max %m users -- try again later"
MaxClients None "对不起,本系统不支持匿名登录"
三、带宽控制:
- RateReadBPS 81920
- RateReadFreeBytes 5120
- RateReadHardBPS on
这样用户的带宽就用公式: "RateReadBPS x MaxClients = Total Bandwidth allocation." 限制起来,但是针对每个虚拟域,每个用户以及全局的限制还没有实现。在 1.2.x 系列中只有一个全局变量影响整个服务器:
Bandwidth 81920
另外,你还可以采用 "mod_quota" 和 "mod_ratio" 模块来控制用户的磁盘限额。
【编辑推荐】