December 09, 2003 [配置] proftpd.conf 配置样例详解 发信人: CrazyKid (疯狂小子※爱学习/爱生活), 信区: Linux标 题: [配置] proftpd.conf 配置样例详解发信站: BBS 水木清华站 (Tue Oct 29 11:38:48 2002), 站内信件#proftpd.conf# Linux@SMTH.org# by windtear@ipcn.org# 2002-10-29 11:41#<Global> #global也可不要,后面如设置多个虚拟站点清晰IdentLookups off #连接快些 还有后面的 UseReverseDNSRequireValidShell off #匿名的一般需要加上这个MaxLoginAttempts 1 #匿名的话1就可以了,最大密码验证次数WtmpLog NONE #不记log到wtmpDenyFilter \*.*/|.ftpaccess #DenyFilter做一些过滤,正则表达式#DenyFilter ~!`\**/?,$@ # 根据自己需要写吧,上面的好烂:P#LsDefaultOptions "-l" #ls参数#AllowForeignAddress on #要允许 FXP 写成 onCommandBufferSize 128 #最大命令长度DirFakeUser On FTP #不显示给用户真实的用户、组DirFakeGroup On FTPDeferWelcome on #显示欢迎信息PathDenyFilter "(^\.ftpaccess$)" #同DenyFilter 过滤用User nobody #proftpd 以哪个用户、组的身份运行Group nobodyTimesGMT off #时间<Limit LOGIN DELE RMD XRMD SITE RNFR RNTO WRITE>DenyAll</Limit> #出于某些考虑,开始禁掉,后面需要再打开。READ也可加过来... #也可以这里设置允许连接的网段 Login,或者后面,建议用防火墙<Limit ALL>IgnoreHidden on</Limit><Directory /*>HideNoAccess onAllowOverwrite off #禁止重写覆盖,后面打开允许续传</Directory> #AllowRetrieveRestart默认是on 也可以写进来</Global>ServerName "FTP server"ServerType standalone #运行方式 还可以用 inetd xinetdServerIdent on "Welcome to FTP" #身份验证前显示给用户的,也可用文件,这里略DefaultServer onUseReverseDNS off #加快连接速度Port 21 #FTP端口Umask 022 #掩码 为了便于管理 用 002PassivePorts 20000 30000 #被动模式端口段SystemLog /var/proftpd/syslog #log 注意自己加上 logrotate 配置MaxInstances 250 #最大TimeoutLogin 30 #身份验证超时TimeoutIdle 120 #发呆超时TimeoutNoTransfer 300 #无数据传输超时#TimeoutStalled 300#log一些自定义格式,根据需要调整或者用默认LogFormat myxfer "%h %u %t \"%r\" %s %b"LogFormat default "%h %a %u %t \"%r\" %s %b $$ \'%F\'"LogFormat auth "%h %a %t \"%r\" %s"LogFormat write "%h %a %t \"%r\" %s %b"#匿名的根目录 记得设置相应目录权限,ftp 用户应至少有 r x 权限<Anonymous /home/ftp> User ftp Group ftpadmin Umask 002 UserAlias anonymous ftp MaxClients 50 "客满(%m)" #人多时的提示信息,可以用一些变量 #RateReadBPS 500000 #限速用 MaxClientsPerHost 2 "连接数多" #一个IP的连接数 TransferLog NONE #log ExtendedLog /var/proftpd/upload.log write myxfer #log ExtendedLog /var/proftpd/download.log read myxfer #log DisplayLogin etc/welcome #欢迎文件,可以用一些变量 DisplayFirstChdir .message #改变目录时显示的消息AuthAliasOnly on #只允许 UserAlias 过的 这里只允许 anonymous 不允许ftp<Limit LOGIN>AllowAll</Limit> #打开允许连接,可以这是允许访问的网段,建议防火墙<Directory incoming> AllowStoreRestart on #允许上传目录,可以续传,不能覆盖 <Limit WRITE> AllowAll </Limit> #如果不想让下载,只让上载 可以加上 #<Limit READ>DenyAll</Limit></Directory> #到这差不多就完了,每个目录可以写 .ftpaccess 设置权限 #后面这两个可以参考根据需要#在FTP根目录又不让看的,上面把欢迎信息放里面了,当然可以放别的<Directory etc> <Limit READ WRITE DIRS> DenyAll </Limit></Directory><Directory Tsinghua> #限制特定IP段能看的,也可在目录的.ftpaccess里面设置 <Limit ALL> Order deny,allow Allow from 166.111. </Limit></Directory></Anonymous> #到这匿名的就完了#加帐号密码可以用多种方式,密码文件,数据库等#如果用系统的帐号,可以用 DefaultRoot 限制活动目录,比如把TA堵在家里 ~#还有别的很多 根据需要自己看文档吧 比如打开MultilineRFC2228等##记得设置相应目录权限,r x 一个都不能少#记得设置文件权限(chmod/chown) 配置 .ftpaccess#应该了解 ls rm chmod chown find xargs crontab 等命令以便进行简单管理#kill/killall -HUP 或者用脚本 ftpshut ftpwho#rm -f /etc/shutmsg#相应的辅助工具还有很多,也可以自己写脚本#你写了好的小工具可以共享出来#zixia 同学写了几个 比如 ftpipwho 自动封禁等##最后,如果你看过这篇文档,再有什么问题请自己查proftpd的配置文档搞定#这一段看到重复性问题太多,就有整理常用配置的想法,临时写了个#有错误,欢迎批评指正,也欢迎大家一起写 配置 FAQ 小技巧等#--Contact Information: ***** ******* <windtear@ipcn.org> +86-10-6277**** **#*** Tsinghua University Beijing, 100084 CN