网上很多文章都已经写到如何配置proftpd,这个常见的FTP服务端软件。但自从proftpd升级到1.3.x版本后,我发现配置参数修改了很多,并且很多原有的参数被取消或替换了。刚好今天需要调整一下服务器上的配置,就把一些已经发现的,需要注意的地方列一下。
一、运行平台
应用软件:proftpd-1.3.0-2AX
二、注意事项
proftp服务在不配置sql数据库验证的情况下,配置文件只有一个/etc/proftpd.conf。以下是配置时需要考虑的地方:
1、打开断点续存的支持
AllowStoreRestart on
在新版本中,已经默认配置在proftpd.conf中。
2、定义Class
旧版本的proftp,曾经是类似如下的写法:
Class local limit 100
Class default limit 10
Class local regex .*foo.com
Class local ip 172.16.1.0/24
请参考:官方Class部分的说明
而在1.3.x版本中,上面的写法已经被下面的写法代替了:
From 1.2.3.4
From proxy.*.com
From my.example.com
From !192.168.0.0/16
</Class>
※这里使用From语句,规定在一定的网络范围中,定义了一个叫test的Class组,以便后面的控制语句中使用。
其中,“!”号是不满足、非的意思。
3、指定权限
在proftpd中,要对某个用户指定权限(例如:一个用户只能下载,不能上传),可以有两种方式:
a)使用<Anonymous ~user></Anonymous>的写法
这也是proftpd.conf配置文件中的默认写法。
假设在系统中建立一个用户:
此时,默然情况下,该用户即可通过proftpd对/home/upload拥有全部的控制权限。而如果你需要收回部分的权限,你只需这样写:
AnonRequirePassword on
<Limit LOGIN>
AllowAll
</Limit>
<Limit WRITE DELE APPE STOR>
Order allow,deny
DenyAll
</Limit>
</Anonymous>
这样,upload用户不能进行添加、修改和写等操作了。
b)使用<Directory dir></Directory>的写法
这种写法相对比较简单,它以目录为标识,只要你想控制那个目录,就直接写到配置文件中,或者对应目录的.ftpaccess文件中即可:
<Limit WRITE DELE RMD RNFR>
DenyUser openuser
</Limit>
</Directory>
这样,openuser用户就不能对/home/openuser目录写入和追加了。
4、控制传输速度
旧版本proftpd的写法类似:
RateReadFreeBytes 5120
RateReadHardBPS on
当然,这样的写法已经被下面的写法代替了:
User upload
Group upload
MaxClientsPerHost 2
TransferRate RETR 25 class !local
TransferRate APPE,STOR 512:1024 class !local
</Anonymous>
也就是,使用TransferRate,针对不同的命令及范围控制速度:
可以控制的范围,包括user、group、前面定义的class等,加上“!”表示不包括该范围。
※MaxClientsPerHost 2是表示每个主机只允许最多两个IP登陆
proftp+md5的认证及源码编译问题
Proftpd+Clamav+Mysql+MD5+Quota混合配置
原创文章,作者:kepupublish,如若转载,请注明出处:https://blog.ytso.com/tech/linux/113025.html