proftpd的一些学习与备注
proftpd的PID允许数
MaxInstances 30 #最多有30个proftpd的PID
RateReadBPS 512000 “限制带宽最大速度”
AllowForeignAddress on #要允许 FXP 写成 on
UseReverseDNS off
#关闭DNS反向查询,节省连接时间
断点续传:
AllowRetrieveRestart on
AllowStoreRestart on
连接限制
MaxClients 10 #最多允许10个用户在线
MaxClientsPerHost 1 #"一个IP只允许一个连接"
增强安全性
ServerIdent off #屏蔽服务器版本信息
DefaultRoot ~ ftpusers #设置ftpusers组只能访问自己的目录
DefaultRoot ~ skate,skate
#限制skate组的skate用户登录时不能切换到其他目录(只能呆在他的home目录)
MaxClientsPerUser 1 "每个帐户在每个客户端最多可以同时登陆1次"
TimeoutIdle 600 #客户端idel时间设置,默认就是600秒
Allow from 192.16.*.*
“限制IP登陆范围”
禁止某ip访问:
<Limit LOGIN>
Order deny,allow
Deny from 10.1.1.
Allow from all
</Limit>
日志设置
SyslogLevel
emerg
SystemLog /ftp/log/proftpd.log
#服务器日志路径
功能性:
1.DisplayLogin welcome.msg #设置ftp登陆欢迎信息文件
%T 目前的时间
%F 所在硬盘剩下的容量
%C 目前所在的目录
%R Client 端的主机名称
%L Server 端的主机名称
%U 使用者帐户名称
%M 最大允许连接人数
%N 目前的服务器连接人数
%E FTP服务器管理员的 email
%i 本次上传的文件数量
%o 本次下载的文件数量
%t 本次上传+下载的文件数量
2.虚拟主机
一般用于一台ftp服务器有好多ip地址,或者ftp用不同的端口,基本设置语法是:
<VirtualHost 123.456.789.0>
ServerName "xxx"
Port 123
<Directory 目录>
<Limit 动作>
</Limit>
</Directory>
</VirtualHost>
3.上传/下载比率设置,要实现功能注意编译的时候加入ratio模块,否则proftp默认是不支持
假设有个帐户ftp1的ftp目录在/home/kaoyan
,然后我们设置ftp1的上传/下载比率是1:2(即上传1M,就可以下载2M)
touch /home/kaoyan/ratio.dat
touch /home/kaoyan/ratio.tmp
chmod -R 666 /home/kaoyan
在proftpd.conf设置如下
Ratios on
SaveRatios on
RatioFile /home/kaoyan/ratio.dat
RatioTempFile /home/kaoyan/ratio.tmp
在相应的设置项里添加
UserRatio ftp1 0 0 2 1000
#UserRatio "使用者帐户" fileratio filequota byteratio bytequota
# fileratio :以文件为基础的比率,通常不限制,故为 0
# filequota :预设置能下载多少文件,不限制时为 0
# byteratio :就是上传/下载的比例,如果数字为2,表示1:2
# bytequota :预设置能下载多少 KBytes 的文件
#上面设置的就是1:2的比率,默认只允许下载1M的文件
重启一下,以后ftp1就可以启用上传/下载比率了
limit动作:
CMD:Change Working Directory 改变目录
MKD:MaKe Directory 建立目录的权限
RNFR: ReName FRom 更改目录名的权限
DELE:DELEte 删除文件的权限
RMD:ReMove Directory 删除目录的权限
RETR:RETRieve 从服务端下载到客户端的权限
STOR:STORe 从客户端上传到服务端的权限
READ:可读的权限,不包括列目录的权限,相当于RETR,STAT等
WRITE:写文件或者目录的权限,包括MKD和RMD
DIRS:是否允许列目录,相当于LIST,NLST等权限,还是比较实用的
ALL:所有权限
LOGIN:是否允许登陆的权限
AllowUser 针对某个用户允许的Limit
DenyUser 针对某个用户禁止的Limit
AllowGroup 针对某个用户组允许的Limit
DenyGroup 针对某个用户组禁止的Limit
AllowAll 针对所有用户组允许的Limit
DenyAll 针对所有用户禁止的Limit
TransferRate STOR|RETR 速度(Kbytes/s) user 使用者
<Directory /home/kaoyan>
<Limit WRITE> #不允许写
DenyUser kaoyan
</Limit>
<Limit RMD RNFR DELE RETR>
#不允许删除,改名,下载
DenyUser upload
</Limit>
TransferRate RETR 50 user kaoyan
TransferRate STOR 100 user upload
</Directory>
把proftpd设为服务
chmod +x /etc/rc.d/init.d/proftpd
chkconfig --add proftpd
service proftpd start
配置用mysql认证的proftpd可以参考:
http://www.5ilinux.com/blog/archives/000082.html