使用Proftpd搭建多功能FTP服务器(二)

  ##包含子配置文件

  include /usr/local/etc/conf.d/mod_ban.conf

  include /usr/local/etc/conf.d/mod_quota.conf

  include /usr/local/etc/conf.d/mod_tls.conf

  配置mod_ban子配置文件

  ————————–mod_ban.conf内容———————————

  ##最大登录尝试次数

  MaxLoginAttempts3

  ##如果编译ban模块

  <IfModule mod_ban.c>

  ##设置阻止日志路径

  BanLog/usr/local/var/proftpd/log/ban.log

  ##设置ban阻止表路径

  BanTable/usr/local/etc/conf.d/ban.tab

  ##阻止事件:1分钟内请求连接 超过5次,拒绝连接,4小时后解锁

  BanOnEventClientConnectRate5/00:01:0004:00:00"Stopconnecting frequently"

  ##阻止事件:10分钟内尝试登录 超过5次,拒绝连接,1小时后解锁

  #允许管理员手动添加和解除黑名单

  BanControlsACLs all allowuser root

  #设置白名单

  <Class whitelist>

  ##这里就不说了,呵呵~

  From10.1.50.50

  </Class>

  #

  ##如果包含在白名单,这里用到的是mod_ifsession模块

  <IfClass whitelist>

  ##关闭ban引擎

  BanEngine off

  </IfClass>

  ##不果不在白名单

  <IfClass!whitelist>

  ##开启ban引擎

  BanEngine on

  </IfClass>

  </IfModule>

  配置mod_quota子配置文件

  ———————-mod_quota.conf内容——————————-

  ##如果编译qutatab模块执行模块里的配置

  <IfModulemod_quotatab.c>

  ##开启quota引擎

  QuotaEngine on

  ##显示大小单位MB

  QuotaDisplayUnitsMb quota

  ##登录时扫描

  QuotaOptionsScanOnLogin

  ##显示quota命令可用性信息

  QuotaShowQuotas on

  ##指定quota表路径,前者是限制的大小,后者是已经使用的大小

  QuotaLimitTable file:/usr/local/etc/conf.d/ftpquota.limittab

  QuotaTallyTable file:/usr/local/etc/conf.d/ftpquota.limittab

  ##指定quota日志路径

  QuotaLog/usr/local/var/proftpd/log/ftpquota.log quota

  </IfModule>

  配置mod_tls子配置文件

  ————————mod_tls.conf内容———————————

  ##如何编译了tls模块

  <IfModule mod_tls.c>

  ##开启TLS引擎

  TLSEngine on

  ##设置TLS日志路径

  TLSLog/usr/local/var/proftpd/log/tls.log

  ##设置同时支持SSL版本3和TLS版本1

  TLSProtocolSSLv3TLSv1

  ##连接到服务器时,是否强制用户使用FTPS? 否。

  TLSRequired off

  ##设置认证签名文件,包含RSA算法公钥

  TLSRSACertificateFile/usr/local/etc/conf.d/proftpd-cert.pem

  ##设置RSA密钥

  TLSRSACertificateKeyFile/usr/local/etc/conf.d/proftpd-key.pem

  ##指定CA签名

  TLSCACertificateFile/usr/local/etc/conf.d/cacert.pem

  #检测用户是否优先使用FTPS

  TLSVerifyClient off

  #强制TLS协商与否

  TLSRenegotiate none

  </IfModule>

  使用Proftpd

  虚拟域

  proftpd支持基于IP地址的虚拟域,基于同一IP不同端口的虚拟域。但是,很遗憾不向apache那样支持同地址同端口不同域名的基于互联网域名的虚拟域。

  详细配置方法参见:

  http://www.proftpd.org/docs/howto/Vhost.html

  http://www.proftpd.org/docs/configs/virtual_authuserfile.conf

  http://www.proftpd.org/docs/configs/virtual.conf

  官方文档描述的很清楚,除了是不是方块字。

  添加虚拟用户

  编译Proftpd时,会生成ftppasswd程序,用来添加虚拟用户和组。

  ftpasswd –passwd –name=admin

  –uid=nobody –gid=nobody

  –home=/ftp_pool/pub/

  –shell=/bin/false

  –file=/usr/local/etc/conf.d/ftpd.passwd

  //添加虚拟组

  ftpasswd –group–name=xiyang –gid=1001

  –file=/usr/local/etc/conf.d/ftpd.group

  第一次是启动Proftpd之前需要初始化quota表,方法如下:

  cd /usr/local/etc/conf.d/

  ftpquota –create-table -type limit

  ftpquota –create-table -type tally

  用户和组策略

  虚拟用户的ID可以相同。虚拟组的作用,为逻辑控制,而非权限控制。根据虚拟域的不同来分配uid和gid,域中用户使用域的uid和gid,虚拟用户被DefaultRoot ~ 锁定在其home目录下。

 

发表评论

邮箱地址不会被公开。 必填项已用*标注