因为前段时间学习proftpd 现在特别整理了一些常用的设置给大家作为参考希望对大家帮助
问:Proftpd如何提供续传功能:
答:如果要支持下载续传,那么必须指定:
AllowRetrieveRestart on
如果要支持上传续传,那么必须指定:
AllowOverwrite on
AllowStoreRestart on
必须同时指定AllowOverwrite和AllowStoreRestart的原因是由于重新上传或者续传也是属于覆盖文件。同时记得不要同时使用HiddenStor和AllowStoreRestart。
问:如何使得proftpd能显示以"."号开头的文件
答:在配置文件中设置:
ShowDotFiles on
这样就能通过ls看见以"."号开头的文件
问:Proftpd如何限制每个客户端机器的同时连接
答:只要在配置文件里面使用:
MaxClientsPerHost 10
这样限制客户端机器最多只能10个连接。用在匿名用户的配置中特别有用,有效地防止了某个 客户端大量占用了其他人的连接数。
问:如何使得proftpd不显示版本信息
答:可以使用下面两种方法之一:
ServerIdent On "My FTP Server"
或者:
ServerIdent Off
如果有虚拟主机的也要对每个站点进行这样的设置。
问:如何进行宽带限制
答:RateReadBPS 限制下载的速率
RateWriteBPS 限制上载的速率
RateReadFreeBytes 限制用户下载至多少容量后再限制速度
RateWriteFreeBytes限制用户上载至多少容量后再限制速度
问:proftpd如何限制其目录
答:DefaultRoot /director
问:如何限制上传文件属于某个用户
答:GroupOwner *** 当然你也可以设置一下umask 例如加一句Umask 003 那么这样上传的文件就属于某个用户 而权限是rw-rw-r了
proftpd如何实现磁盘限额
首先编译的时候指定--with-modules的时候要包含mod_quota。
然后在配置文件中使用:
Quotas on
QuotaCalc on
DefaultQuota 8000
QuotaBlockSize 1024
QuotaBlockName kb
就可以实现磁盘限额。其中DefaultQuota说明用户只能用8000个block,而QuotaBlockSize则指明每个block大小是1024byte也就是1k。QuotaBlockName只在提示中出现,告诉用户block的单位。
如何使得proftpd能显示以"."号开头的文件
在配置文件中设置:
ShowDotFiles on
这样就能通过ls看见以"."号开头的文件
如何使得proftpd不显示版本信息
可以使用下面两种方法之一:
ServerIdent On "My FTP Server"
或者:
ServerIdent Off
如果有虚拟主机的也要对每个站点进行这样的设置。
Proftpd如何限制某个用户的同时连接数
Proftpd 1.2.7rc1以后提供了一个新参数-MaxClientsPerUser。在配置文件中添加下列参数:
MaxClientsPerUser 5
这样就能限制每个用户只能同时有5个连接,使用例如flashget等下载工具的时候就最多只能分成5块下载。
为了阻止 DoS 的攻击
设置子进程的最大数目为30。如果你需要允许同一时刻的并发连 接多于30个的话,只要简单的增加这个值就可以了。注意,这个设置只有在 standalone模式下才起作用,在 inetd 模式下,你需要使用 inetd 服务器来限制每个服务所允许的最大的进程数(xinetd也是一样的)。
MaxInstances 30
设置服务器在正常运行时使用的用户和用户组
User nobody
Group nobody
允许尝试登陆的次数
MaxLoginAttempts 3
设置数据连接在被终止前被延续("stall")的最大秒数
TimeoutStalled 300
服务器在用户登录时显示 'welcome.msg' 中的内容,而 '.message' 的内容出现在每一个新的子目录下
DisplayLogin welcome.msg
DisplayFirstChdir .message
达到最大客户连接数时给出的信息
MaxClients 5 "Sorry, max %m users -- try again later"
DeferWelcome 指令阻止 proftpd 显示服务器名,直到客户认证通过
DeferWelcome on
用户登陆时不显示ftp服务器版本信息,以增强安全性
ServerIdent off
限制整个匿名目录的任何写行为
<Limit WRITE>
DenyAll
</Limit>
如果你根本不希望任何普通用户(normal users)登录
<Limit LOGIN>
DenyAll
</Limit>
是否不允其它认证方式
SQLAuthoritative on