对张微波先生的《proftpd学习笔记》的一点补充:
1.数据库表中最好加入ID列来做主键,相应的要修改配置文件:
[code lang="plain" gutter="false"]SQLNamedQuery insert-quota-tally INSERT %{0}, %{1}, %{2}, %{3}, %{4}, %{5}, %{6}, %{7} ftpquotatallies[/code]
改为:
[code lang="plain" gutter="false"]SQLNamedQuery insert-quota-tally INSERT NULL, %{0}, %{1}, %{2}, %{3}, %{4}, %{5}, %{6}, %{7} ftpquotatallies[/code]
2.在ftpuser表中插入虚拟用户时,homedir一定要指明,同时一定要在ftpgroup表中插入相应用户名。
3.如果启用了Quota,则需在ftpquotalimits表里插入相应值,否则ftpquotatallies表不会记录流量。
4.ftpquotalimits表中的per_session设为true时,只判断本次传输流量与配额的关系;为false时,则判断累计流量与配额关系。
5.Proftpd是根据ftpquotalimits表和ftpquotatallies表中的数据差来计算配额余量的。
一些疑问:
1.ftpquotalimits表中的limit_type对于下载似乎不起作用。
2.Proftpd对虚拟用户应该是映射到本地实际用户的,但是不明白为何Limit域对映射的本地用户的限制对虚拟用户不起作用。
3.Proftpd对于ftpquotatallies表中流量的更新似乎有bug,如果客户端在传输过程中因为非正常原因中断(比如:死机、网络中断),Proftpd不会更新流量。