ProFTPd:修订间差异
(→相关资源) |
无编辑摘要 |
||
第122行: | 第122行: | ||
==ProFTPD教程== | ==ProFTPD教程== | ||
== | ==参考来源== | ||
*[http://www.proftpd.org/ 参考来源1] | *[http://www.proftpd.org/ 参考来源1] | ||
*[http://www.aboutstudy.net/cms/wenzhangzhongxin/wangluobiancheng/PHP/2008-09-10/553.htmll 参考来源2] | *[http://www.aboutstudy.net/cms/wenzhangzhongxin/wangluobiancheng/PHP/2008-09-10/553.htmll 参考来源2] |
2010年5月11日 (二) 18:18的版本
ProFTPD是一套可配置性强的开放源代码的FTP服务器软件,名称最后的d字是因为在Linux中是用daemon来称呼。ProFTPd与Apache的配置方式类似,因此十分容易配置和管理。
ProFTPD概况
ProFTPD:一个Unix平台上或是类Unix平台上(如Linux, FreeBSD等)的FTP服务器程序,它是在自由软件基金会的版权声明(GPL)下开发、发布的免费软件,也就是说任何人只要遵守GPL版权声明,都可以随意修改源始码。
设计目标
ProFTPD设计目标是实现一个安全且易于设定的FTP Server。目前Unix或类Unix平台上 FTP Server十分有限,最常使用的恐怕就是wu-ftpd了。
主要特色
ProFTPD不是从其它FTP Server的既有原始码修改而产生的,相反的,它是完全独立而完整、重新改写的FTP Server。
- 一个单一的和 Apache 的 httpd.conf 类似的配置文件
- 每个目录下的 .ftpaccess 文件(和 Apache 的. htaccess 类似)
- 很容易配置的,多个虚拟 FTP 服务器以及匿名 FTP 服务
- 可以单独运行也可以从 inetd/xinetd 启动
- 匿名 FTP 的根目录不需要特别的目录结构
- 系统的二进制文件和其他系统文件没有 SITE EXEC 命令
- 在单独运行方式下,以非特权用户运行,降低攻击风险
- 日志以及 utmp/wtmp 支持
- Shadow 口令支持
安装配置
安装proftpd
和mysql的安装很相似,使用ports安装
- #cd /usr/ports/ftp/proftpd-mysql
- #make install
安装的时候会要求选择proftpd要安装的模块,选择好mysql和quota,其他的根据情况选择 然后系统自动下载proftpd-1.3.0rc2.tar.bz2并完成编译和安装。
配置proftpd.conf
完成上面的安装,proftpd其实已经可以运行了,但是我们还需要根据自己的安装要求进行必要的配置,所以先备份默认的配置文件
- #cp /usr/local/etc/proftpd.conf /usr/local/etc/proftpd.conf.sample
1、重新编写proftpd.conf,下面是Michael的文件,大家完全照抄就基本可以了
基本配置
- ServerName "Ftp Site"
- ServerType standalone
- DefaultServer on
设置用户登陆时不显示ftp服务器版本信息
- ServerIdent off
设置ftp服务使用的端口,可以修改
- Port 21
设置ftp目录的权限
- Umask 022
设置系统各种超时时间和重试次数
- MaxLoginAttempts 3
- TimeoutLogin 120
- TimeoutIdle 600
- TimeoutNoTransfer 900
- TimeoutStalled 3600
允许最大的同时连接用户数
- MaxClients 10
允许每个用户主机最大并发连接数
- MaxClientsPerHost 3
- AllowOverwrite no
- AllowStoreRestart on
- UseReverseDNS off
如果shell为空时允许用户登录
- RequireValidShell off
将用户限制在自己的主目录下 ,这个设置很重要
- DefaultRoot ~
设置系统最大的进程数,防止dos攻击,默认是30
- MaxInstances 10
设置系统用于运行proftpd服务的用户和用户组(需要后面自己创建)
- User FTPUSR
- Group FTPGRP
设置对全局的文件可以进行改写
- AllowOverwrite on
设置系统运行日志和文件传输日志
- SystemLog /var/log/proftpd.syslog
- TransferLog /var/log/proftpd.transferlog
MySQL数据库表配置
用户目录设置
完成最后的用户、用户组和目录设置 1、创建proftpd服务运行的用户和用户组
- #pw groupadd FTPGRP -g 1000
- #pw adduser FTPUSR -u 1000 -g 1000 -d /home/ftp -s /sbin/nologin
2、创建匿名登陆用户映射的系统用户和用户组
- #pw groupadd ftpusers -g 1000
- #pw adduser ftp -u 2002 -g 1000 -d /var/ftp/incoming -s /sbin/nologin
运行测试配置系统服务 1、运行proftpd服务
- #/usr/local/sbin/proftpd
2、测试 在任何一台可以访问服务器的机器上测试ftp连接,使用Michael用户和testftp口令登陆,然后运行quote SITE QUOTA命令查看设置的磁盘限额信息 然后测试使用anonymous匿名用户登陆测试
3、监控和调试proftpd服务
- #/usr/local/sbin/proftpd proftpd -n -d 5 -c /usr/local/etc/proftpd.conf
这样在测试和连接ftp的时候,可以在主机上看到所有的proftpd运行信息
4、日志监控 可以使用下面的命令查看系统日志、传送日志等
- #tail -f /var/log/proftpd.syslog
- #tail -f /var/log/proftpd.transferlog
5、配置系统自启动proftpd服务
- #vi /etc/rc.conf
加入下面一行
- proftpd_enable=”YES”
这样系统启动的时候会调用/usr/local/etc/rc.d/proftpd.sh脚本启动proftpd服务