May
29
[原]配置proftpd 1.3.x的注意事项
三、综上所述
结合上述说明,建立一个较规范的ftp站点,可实现:
引用
1)两个下载帐号:
down:只能下载,不能读写;
ftpman:全读写权限;
2)速度控制为:
最大下载速度为25Kbytes/s,最大上传为:512Kbytes/s(可允许浮动到1024Kbytes/s);
但对指定的网络范围不控制;
3)每个主机只允许最多2个IP访问;
down:只能下载,不能读写;
ftpman:全读写权限;
2)速度控制为:
最大下载速度为25Kbytes/s,最大上传为:512Kbytes/s(可允许浮动到1024Kbytes/s);
但对指定的网络范围不控制;
3)每个主机只允许最多2个IP访问;
◎步骤如下:
首先,建立一个标准用户,并指定其主目录:
useradd -d /ftp_root ftpman
再建立对应的目录,并给予适当的权限:
mkdir /ftp_root
chown -R ftpman:ftpman /ftp_root
chown -R ftpman:ftpman /ftp_root
接下来,再建立一个只有下载权限的用户:
useradd -d /ftp_root -g ftpman down
定义Class级别:
引用
<Class local>
From 192.168.0.0/16
</Class>
From 192.168.0.0/16
</Class>
使用方式a控制其权限:
引用
<Anonymous ~down>
<Limit LOGIN>
AllowAll
</Limit>
<Limit WRITE DELE APPE STOR>
Order allow,deny
DenyAll
</Limit>
MaxClientsPerHost 2
TransferRate RETR 25 class !local
TransferRate APPE,STOR 512:1024 class !local
</Anonymous>
<Limit LOGIN>
AllowAll
</Limit>
<Limit WRITE DELE APPE STOR>
Order allow,deny
DenyAll
</Limit>
MaxClientsPerHost 2
TransferRate RETR 25 class !local
TransferRate APPE,STOR 512:1024 class !local
</Anonymous>
当然,也可以使用方式b控制:
引用
<Directory /ftp_root>
<Limit WRITE DELE RMD RNFR>
DenyUser down
</Limit>
TransferRate RETR 25 class !local
TransferRate APPE,STOR 512:1024 class !local
</Directory>
<Limit WRITE DELE RMD RNFR>
DenyUser down
</Limit>
TransferRate RETR 25 class !local
TransferRate APPE,STOR 512:1024 class !local
</Directory>
※注意:MaxClientsPerHost标签不支持在<Directory dir></Directory>结构中使用。
四、附录
1、讲了这么多proftp的配置说明。其实,最关键的还是需要懂得看官方的文档,并注意识别。
例如:对于MaxClientsPerHost的说明
引用
MaxClientsPerHost -- Limits the connections per client machine
Synopsis
MaxClientsPerHost [ MaxClientsPerHost number|none [message]]
Default
MaxClientsPerHost none
Context
server config, <Anonymous>, <VirtualHost>, <Global>
Module
mod_auth
Compatibility
1.1.7 and later
Synopsis
MaxClientsPerHost [ MaxClientsPerHost number|none [message]]
Default
MaxClientsPerHost none
Context
server config, <Anonymous>, <VirtualHost>, <Global>
Module
mod_auth
Compatibility
1.1.7 and later
上面很清楚的指明了用途,适用范围,以及对应的模块,还有可支持的版本。
当然,还需要留意的是,似乎官方文档错漏也挺多的,有些旧的标签并没有明确,例如Classes已经取消了。这些,可以参考官方论坛得到帮助:地址
2、而要自动当前proftpd可以使用的模块,可这样做:
# proftpd -l
Compiled-in modules:
mod_core.c
mod_xfer.c
mod_auth_unix.c
mod_auth_file.c
mod_auth.c
mod_ls.c
mod_log.c
mod_site.c
mod_delay.c
mod_auth_pam.c
mod_ratio.c
mod_readme.c
mod_tls.c
mod_ldap.c
mod_sql.c
mod_sql_mysql.c
mod_cap.c
Compiled-in modules:
mod_core.c
mod_xfer.c
mod_auth_unix.c
mod_auth_file.c
mod_auth.c
mod_ls.c
mod_log.c
mod_site.c
mod_delay.c
mod_auth_pam.c
mod_ratio.c
mod_readme.c
mod_tls.c
mod_ldap.c
mod_sql.c
mod_sql_mysql.c
mod_cap.c
内文分页: [1] [2]