ProFTPd 安装说明
安装环境
FreeBSD环境下ports安装 ProFTPd安装配置
安装proftpd
和mysql的安装很相似,使用ports安装 :配置proftpd.conf
完成上面的安装,proftpd其实已经可以运行了,但是我们还需要根据自己的安装要求进行必要的配置,所以先备份默认的配置文件
:
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数据库表配置
匿名登陆部分的设置
:
:User ftp
:Group ftpusers
:UserAlias anonymous ftp
:
:
:MaxClients 5
:
:
:DisplayLogin welcome.msg
:DisplayFirstChdir .message
:
:DenyAll
:Order deny,allow
:Deny from 127.0.0.1/32
:Allow from all
磁盘限额Quota设置
:
:QuotaDisplayUnits "Mb"
:QuotaEngine on
QuotaLog "/var/log/proftpd.quotalog"
:QuotaShowQuotas on
数据库联接的信息
::
:SQLAuthTypes Backend Plaintext
:
:SQLUserInfo FTPUSERS userid passwd uid gid homedir shell
:SQLGroupInfo FTPGRPS groupname gid members
:
:SQLAuthenticate users groups usersetfast groupsetfast
:
:SQLNamedQuery get-quota-limit SELECT "name, quota_type, per_session, limit_type, bytes_in_avail, bytes_out_avail, bytes_xfer_avail,files_in_avail, files_out_avail, files_xfer_avail FROM quotalimits WHERE name = '%{0}' AND quota_type = '%{1}'"
:SQLNamedQuery get-quota-tally SELECT "name, quota_type, bytes_in_used, bytes_out_used, bytes_xfer_used, files_in_used, files_out_used, files_xfer_used FROM quotatallies WHERE name = '%{0}' AND quota_type = '%{1}'"
:SQLNamedQuery update-quota-tally UPDATE "bytes_in_used = bytes_in_used + %{0}, bytes_out_used = bytes_out_used + %{1}, bytes_xfer_used = bytes_xfer_used + %{2}, files_in_used = files_in_used + %{3}, files_out_used = files_out_used + %{4}, files_xfer_used = files_xfer_used + %{5} WHERE name = '%{6}' AND quota_type = '%{7}'" quotatallies
:SQLNamedQuery insert-quota-tally INSERT "%{0}, %{1}, %{2}, %{3}, %{4}, %{5}, %{6}, %{7}" quotatallies
:QuotaLimitTable sql:/get-quota-limit
:QuotaTallyTable sql:/get-quota-tally/update-quota-tally/insert-quota-tally
:至此,完成了proftpd.conf配置文件的编写
完成MySQL数据库表配置
完成proftpd.conf配置文件后,需要进行数据库表的配置,包括创建表和插入数据 #登陆mysql或者使用phpmyadmin工具创建数据库 FTP :mysqladmin create FTP用户用户组和目录设置
完成最后的用户、用户组和目录设置 :创建proftpd服务运行的用户和用户组 :2、创建匿名登陆用户映射的系统用户和用户组
:
:
运行测试配置系统服务
1、运行proftpd服务
:
2、测试
在任何一台可以访问服务器的机器上测试ftp连接,使用Michael用户和testftp口令登陆,然后运行quote SITE QUOTA命令查看设置的磁盘限额信息
然后测试使用anonymous匿名用户登陆测试
3、监控和调试proftpd服务
:
这样在测试和连接ftp的时候,可以在主机上看到所有的proftpd运行信息
4、日志监控
可以使用下面的命令查看系统日志、传送日志等
:
:
5、配置系统自启动proftpd服务
:
加入下面一行
:proftpd_enable=”YES”
这样系统启动的时候会调用/usr/local/etc/rc.d/proftpd.sh脚本启动proftpd服务