`
rmzdb
  • 浏览: 83985 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
社区版块
存档分类
最新评论

【原】apache ftpServer源码解读与收获(二)

阅读更多

二.相关配置

1.服务器配置

server元素

<server xmlns="http://mina.apache.org/ftpserver/spring/v1"

    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

    xsi:schemaLocation="http://mina.apache.org/ftpserver/spring/v1 http://mina.apache.org/ftpserver/ftpserver-1.0.xsd"

    id="server"     

    max-logins="500"

    anon-enabled="false"

    max-anon-logins="123"

    max-login-failures="124"

    login-failure-delay="125">

...

</server>

元素 

描述 

是否必需 

默认值 

id 

XML配置文件中的唯一标识符

Y

 

max-logins 

最大并发用户数

N

21

max-anon-logins 

最大匿名用户数

N

10 

anon-enabled 

是否允许匿名用户登陆

N

true 

max-login-failures 

连接关闭前登陆失败后尝试次数

N

3

login-failure-delay 

登陆失败后的时间延迟(ms),用于限制配置暴力破解密码

N

500

 

listener元素

ListenerFtpServer中负责监听网络socket接口,当客户端连接后创建用户session、执行命令等。一个FtpServer可以同时拥有多个listerner,以下是一些例子: 

1)一个在21端口的默认监听; 

2)一个在21端口的超速通道监听,一个隐式的在22端口上的SSL监听

3)一个在内部IP超速通道监听,一个外部IPSSL监听

 

Listenername标识,默认Listener的名称是default

主要的网络配置表现在listener上,例如监听端口、SSL配置。

XML配置格式内,所有的监听器以listeners元素进行配置

 

<listeners>

    <nio-listener name="default" port="2222" implicit-ssl="true" idle-timeout="60" local-address="1.2.3.4">

        <ssl>

            <keystore file="mykeystore.jks" password="secret" key-password="otherSecret" />

            <truststore file="mytruststore.jks" password="secret"/>

        </ssl>

        <data-connection idle-timeout="60">

            <active enabled="true" local-address="1.2.3.4" local-port="2323" ip-check="true">

            <passive ports="123-12"address="1.2.3.4" external-address="1.2.3.4" />

        </data-connection>

        <blacklist>1.2.3.0/16, 1.2.4.0/16, 1.2.3.4</blacklist>

    </nio-listener>

</listeners>

 

nio元素 

装配FtpServer的监听器叫做nio-listener,因为它是基于Java NIO的以提升性能和规模

元素 

描述 

是否必需 

默认值 

name 

监听名称,如果是default,它会覆盖默认的监听器

Y

 

port 

监听器接受连接的端口

N

21

local-address 

监听器绑定的服务器地址

N

All available 

implicit-ssl 

如果使用隐式的SSL,其值为true 

N

false 

idle-timeout 

非活跃客户端断开时间。如果值设为0,则闲置时间不可用(一个客户端可以永远闲置,如果没有从服务器断开)如果一个较低的最大闲置时间配置给用户(比如使用PropertiesUserManager闲置时间配置),它会覆盖listener.这样listener值强加以更高的阈值,但是低层值可以提供给每个用户。

N

300

 

ssl元素

对于需要FTPS 支持的Listener必须

元素 

描述 

是否必需 

默认值 

protocol

使用SSL协议,支持有 SSL 和TLS

N

TLS

client-authentication

是否客户端认证?支持的值有:“NEED”,“WANT”和 NONE

 

N

NONE

enabled-ciphersuites

对于本连接的一个可用的逗号分隔的密码组件列表。可用的加密组件依赖于所采用的Java版本

N

所有加密组件均可用

 

keystore元素

如果提供了ssl元素,它将是必须的。它为密钥存储提供配置,用于查找私钥和服务器证书。

元素 

描述 

是否必需 

默认值 

file

密钥存储路径

Y

 

password

密钥存储密码

Y

 

key-password

密钥存储中的密钥密码

N

密钥存储密码

key-alias

密钥存储中key的别名

N

Uses first key found

type

密钥存储类型

N

JKS

algorithm

密钥存储算法

N

SunX509

 

truststore 

该元素用于配置信任存储,以定位信任的证书。 

元素 

描述 

是否必需 

默认值 

file

密钥存储路径

Y

 

password

密钥存储密码

N

无密码可读取证书

type

密钥存储类型

N

JRE key store default type, normally JKS

algorithm

密钥存储算法

N

SunX509

 

data-connection元素

为数据连接提供配置 

元素 

描述 

是否必需 

默认值 

idle-timeout

数据连接要关闭最大闲置时间

N

300

 

active元素

为积极数据连接提供配置 

元素 

描述 

是否必需 

默认值 

enabled

如果积极数据连接不被允许,值为false

N

true

local-address

服务器创建连接时使用的本地地址

N

Any available 

local-port

服务器创建连接时使用的本地端口

N

Any available 

ip-check

服务器是否监察数据连接IP与控制socket的IP相同?

N

false

 

passive元素

为消极数据连接提供配置 

元素 

描述 

是否必需 

默认值 

ports

服务器创建消极数据连接时使用的本地端口

N

Any available port

address

服务器监听消极数据连接的地址

N

与控制socket地址相同

external-address

服务器声明在PASV答复中监听的地址。该属性配置在当服务器在NAT防火墙后,客户端看到的IP不同于服务使用的IP时很有用

N

 

 

blacklist元素

提供对一些IP地址的访问受限

2.用户权限配置

 ftpServer对用户权限的管理,提供了数据库持久化存储管理跟文件持久化存储管理。

数据库持久化用户管理配置:

元素 

描述 

是否必需 

默认值 

encrypt-passwordsdb-user-manager 元素的属性

它表明了密码是如何存储的。可用值为:clear普通文本,MD5哈希算法或者salted哈希盐化密码。建议采用salted

N

md5

data-source 

普通Spring bean配置的数据源

Y

 

insert-user

SQL语句插入一个新的用户,所有的动态值在运行时会被取代。

N

 

update-user

SQL语句插入修改一个用户,所有的动态值在运行时会被取代

Y

 

delete-user 

SQL语句删除一个用户,所有的动态值在运行时会被取代。

Y

 

select-user 

SQL语句查询一个用户,所有的动态值在运行时会被取代。

Y

 

select-all-users 

SQL语句插入所有用户,所有的动态值在运行时会被取代

Y

 

is-admin 

查询一个用户是否是管理员用户,所有的动态值在运行时会被取代。

Y

 

authenticate 

SQL语句认证一个用户,所有的动态值在运行时会被取代。

Y

 

文件持久化存储管理配置:

元素 

描述 

是否必需 

默认值 

encrypt-passwordsdb-user-manager 元素的属性

它表明了密码是如何存储的。可用值为:clear普通文本,MD5哈希算法或者salted哈希盐化密码。建议采用salted

N

md5

file

存储用户的properties文件路径

 

N

File跟url至少要有一个必须

url

存储用户的propertiesURL

N

同上

以上配置信息,详见官方网站文档。

分享到:
评论

相关推荐

    日志分析工具awstats

    **二、AWStats的安装与配置** 1. **安装**:AWStats通常作为Web服务器的一部分安装,可以下载源码编译安装,也可以通过软件包管理器(如apt-get或yum)进行安装。 2. **配置**:主要涉及`awstats.conf`配置文件,...

    西门子博途1500SCL与梯形图结合编程:多Profinet通讯及触摸屏配方功能的综合解决方案

    内容概要:本文详细介绍了西门子博途1500SCL程序与梯形图结合编程的技术及其应用。主要内容涵盖V90伺服与发那科机器人Profinet通讯控制、多Profinet IO从站及串口通讯的综合解决方案。文章还讨论了模块化结构化编程方式、集成化通信协议、高性能表现以及先进技术如多线程处理和高精度运算。具体应用案例展示了该技术在工业生产线控制、机器人自动抓取控制和自动化仓储管理等方面的成功实施。 适合人群:从事自动化控制领域的工程师和技术人员,特别是对西门子PLC和触摸屏技术有一定了解的专业人士。 使用场景及目标:适用于需要高精度、高可靠性的自动化控制系统的设计与开发,旨在提升生产效率和自动化水平。目标是帮助工程师更好地理解和应用西门子博途1500SCL程序与梯形图结合编程的方法,优化现有系统并解决实际工程问题。 其他说明:文中提供的实例和技术细节对于希望深入了解和掌握这一技术的人来说非常有价值。同时,该技术的广泛应用前景也为未来的研究和发展提供了方向。

    数控铣常用指令和编程实例.pptx

    数控铣常用指令和编程实例.pptx

    H5资源ZIP压缩包在线查看器

    1)纯前端编写,可在网页中使用iframe标签无障碍查看H5压缩包资源; 2)DEMO页面需在WEB服务环境下运行。

    Lexium CT施耐德伺服软件:支持多型号IL系列数控升级与工业自动化新动力

    内容概要:本文介绍了Lexium CT施耐德伺服软件的功能特点及其对工业自动化的贡献。该软件支持sd328、lxm05、lxm32和IL系列等多种型号的伺服驱动器,具有精确控制、高稳定性、易于集成和丰富功能等优点。最新版本更新至2020年12月,确保了其性能和功能的最优化。通过这款软件,工业自动化设备实现了更高的运行效率和稳定性。 适合人群:从事工业自动化领域的工程师和技术人员,特别是需要进行伺服控制系统选型和维护的专业人士。 使用场景及目标:①用于生产线、机器人、数控机床等设备的精确控制;②提高设备运行效率和稳定性;③降低集成难度和成本;④满足不同用户的多样化需求,如参数设置、故障诊断、数据记录等功能。 其他说明:随着工业自动化技术的不断发展,Lexium CT施耐德伺服软件将继续发挥重要作用,推动行业进步。

    基于SSM与MySQL的医院预约挂号系统源码及数据库(高分毕业设计项目)

    基于SSM与MySQL的医院预约挂号系统源码及数据库(高分毕业设计项目),个人经导师指导并认可通过的高分设计项目,评审分98分,项目中的源码都是经过本地编译过可运行的,都经过严格调试,确保可以运行!主要针对计算机相关专业的正在做大作业、毕业设计的学生和需要项目实战练习的学习者,资源项目的难度比较适中,内容都是经过助教老师审定过的能够满足学习、使用需求,如果有需要的话可以放心下载使用。 基于SSM与MySQL的医院预约挂号系统源码及数据库(高分毕业设计项目)基于SSM与MySQL的医院预约挂号系统源码及数据库(高分毕业设计项目)基于SSM与MySQL的医院预约挂号系统源码及数据库(高分毕业设计项目)基于SSM与MySQL的医院预约挂号系统源码及数据库(高分毕业设计项目)基于SSM与MySQL的医院预约挂号系统源码及数据库(高分毕业设计项目)基于SSM与MySQL的医院预约挂号系统源码及数据库(高分毕业设计项目)基于SSM与MySQL的医院预约挂号系统源码及数据库(高分毕业设计项目)基于SSM与MySQL的医院预约挂号系统源码及数据库(高分毕业设计项目)基于SSM与MySQL的医院预约挂号系统源码及数据库(高分毕业设计项目)基于SSM与MySQL的医院预约挂号系统源码及数据库(高分毕业设计项目)基于SSM与MySQL的医院预约挂号系统源码及数据库(高分毕业设计项目)基于SSM与MySQL的医院预约挂号系统源码及数据库(高分毕业设计项目)基于SSM与MySQL的医院预约挂号系统源码及数据库(高分毕业设计项目)基于SSM与MySQL的医院预约挂号系统源码及数据库(高分毕业设计项目)基于SSM与MySQL的医院预约挂号系统源码及数据库(高分毕业设计项目)基于SSM与MySQL的医院预约挂号系统源码及数据库(高分毕业设计项目)基于SSM与MySQL的医院预约挂号系统源码及数据库(高分

    实现温度与反射率对应关系及预测

    实现温度与反射率对应关系及预测

    西门子S7-200Smart与英威腾GD变频器通讯实战:PLC控制及触摸屏操作指南 变频器控制 手册

    内容概要:本文详细介绍了西门子S7-200Smart PLC与三台英威腾GD变频器之间的通讯实战程序。主要内容涵盖硬件接线、参数设置、PLC程序核心代码、触摸屏配置以及常见问题解决方法。文中提供了详细的接线图、通讯地址说明,并附带了带有注释的完整程序和触摸屏程序。此外,还给出了避坑指南和扩展建议,帮助用户更好地理解和应用该系统。 适合人群:从事工业自动化领域的工程师和技术人员,尤其是对PLC编程和变频器通讯有一定基础的人群。 使用场景及目标:适用于需要实现PLC与多台变频器通讯的实际生产环境。主要目标是通过具体的实例指导用户完成从硬件连接到软件编程的全过程,确保系统的稳定性和可靠性。 其他说明:本文不仅提供理论知识,还包括大量实用的操作技巧和经验分享,有助于提高用户的实际操作能力。同时,文中提到的轮询架构可以根据需求进行灵活扩展,适应更多设备的接入。

    容器技术Docker容器基础教程:从概念到实践的详细指南

    内容概要:本文介绍了容器技术的基本概念及其优势,特别是Docker容器的使用方法。容器是一种轻量级的虚拟化技术,每个容器包含应用程序及其所有依赖项,能够在任何环境中一致运行。容器具有自包含、隔离、独立和可移植的特点,相比虚拟机更加高效。文中还详细描述了如何使用Docker Desktop GUI来运行和管理Docker容器,包括拉取镜像、配置端口映射、启动和停止容器等具体步骤。最后,演示了一个简单的Web服务器容器实例,通过浏览器访问http://localhost:8080展示其效果。 适合人群:对容器技术感兴趣的开发人员、运维工程师以及希望了解Docker基础知识的技术爱好者。 使用场景及目标:①帮助用户理解容器与虚拟机的区别,掌握容器的核心特性;②指导用户使用Docker Desktop GUI完成容器的基本操作;③提供实际案例,让用户能够快速上手并体验容器化应用的部署过程。 其他说明:本文不仅讲解了理论知识,还提供了详细的实操步骤,使读者能够在实践中更好地理解和应用容器技术。建议读者按照文中提供的步骤动手操作,以加深对容器的理解。

    西门子触摸屏在箱式无负压供水系统中的程序逻辑解析

    内容概要:本文详细介绍了西门子触摸屏在箱式无负压供水系统中的应用及其背后的核心程序逻辑。主要内容涵盖市政压力监控与补水泵变频恒压调节、加压泵的变频恒压供水以及变送器信号的综合运用。具体来说,当市政压力低时,系统会自动开启补水泵进行变频恒压补水;当市政压力恢复时,则关闭补水泵。此外,两台加压泵通过变频控制保持供水压力稳定。进水总管变送器不仅用于监测供水压力,还为补水泵提供恒压信号,确保系统高效运行。 适合人群:从事自动化控制系统设计、维护的技术人员,尤其是熟悉PLC编程和供水系统管理的专业人士。 使用场景及目标:适用于城市供水系统的设计与优化,旨在提高供水效率和稳定性,减少能源消耗。通过对市政压力、供水压力及进水总管状态的精准控制,实现智能化供水管理。 其他说明:文中提供了具体的PLC编程代码示例,帮助读者更好地理解和实施这套系统。

    数据挖掘(8):朴素贝叶斯分类算法原理与实践.doc

    数据挖掘(8):朴素贝叶斯分类算法原理与实践.doc

    信号处理领域中EMD及其改进方法的Matlab实现与端点效应解决方案 信号处理 深度版

    内容概要:本文详细介绍了经验模态分解(EMD)及其改进方法——集合经验模态分解(EEMD)和完备集合经验模态分解(CEEMD),并探讨了这些方法在信号分解与复原中的应用。文中不仅对比了三种方法的误差,还提出了克服端点效应的有效策略——极值延拓法,并附带了详细的Matlab代码实现。通过实例展示了如何利用这些方法对信号进行分解、复原及误差评估。 适合人群:从事信号处理领域的研究人员和技术人员,尤其是对EMD及其改进方法感兴趣的学者和工程师。 使用场景及目标:适用于需要对非平稳信号进行精确分解和复原的研究项目,旨在提高信号处理精度,减少因端点效应导致的数据失真。 其他说明:文章提供的Matlab代码可以直接用于实验验证,帮助读者更好地理解和掌握相关理论和技术细节。

    新建MICROSOFTPOWERPOINT演示文稿.pptx

    新建MICROSOFTPOWERPOINT演示文稿.pptx

    基于互联网大学生创新创业大赛的优秀项目计划书

    基于互联网大学生创新创业大赛的优秀项目计划书

    三菱运动控制项目解析:LD系列运动模块与触摸屏参数调节的完美融合

    内容概要:本文深入解析了三菱运动控制技术,重点介绍了L系列13轴运动控制系统的应用。文中详细探讨了运动模块(如LD77MS、5U80SSC、RD77MS、QD77MS)与本体IO控制的结合方式,以及参数设置模板和触摸屏技术的实际应用。通过参数设置模板,用户可以快速配置运动速度、加速度、位置精度等参数,而触摸屏则提供了直观的操作界面,支持在线监控和实时调整。此外,文章还讲解了SFC(Sequential Function Control)技术在逻辑控制中的重要性和应用实例。 适合人群:从事工业自动化领域的工程师和技术人员,尤其是对三菱运动控制产品感兴趣的初学者和有一定经验的研发人员。 使用场景及目标:帮助读者理解和掌握三菱L系列13轴运动控制系统的配置和操作方法,提高生产效率和产品质量。适用于需要进行复杂运动控制项目的工厂和企业。 其他说明:文章不仅提供了理论知识,还结合了实际项目案例,使读者能够在实践中更好地应用所学内容。

    安装按钮二期流程图,总体逻辑

    安装按钮二期流程图,总体逻辑

    数据库应用专题知识讲座.pptx

    数据库应用专题知识讲座.pptx

    数据通信的基础知识.pptx

    数据通信的基础知识.pptx

    电动车驱动系统中霍尔FOC算法详解:代码、电路图、PCB及优化技巧

    内容概要:本文详细介绍了成熟的电动车驱动方案,重点在于霍尔FOC(Field-Oriented Control)算法的应用。文中不仅提供了完整的代码实现,还展示了电路图和PCB设计。霍尔FOC算法的独特之处在于其高效的状态转移表设计,能够快速响应霍尔传感器的变化,减少处理时间。此外,硬件设计方面加入了双级滤波电路,有效提高了系统的抗干扰能力。坐标变换库采用预计算的Q15格式查表值,进一步提升了效率。针对低速情况,引入了电流观测器进行预测,确保了转子位置的精确估计。PCB布局中采用了蛇形走线来平衡各相驱动信号的传播延迟。 适合人群:从事电动车驱动系统开发的技术人员,尤其是对霍尔FOC算法感兴趣的工程师。 使用场景及目标:适用于需要深入了解霍尔FOC算法及其优化方法的研究人员和技术开发者。目标是提高电动车驱动系统的性能,特别是在低速运行时的稳定性和精度。 其他说明:本文提供的方案不仅涵盖了软件层面的优化,还包括硬件设计的改进,为实际应用提供了全面的指导。

    数据库例卷-.doc

    数据库例卷-.doc

Global site tag (gtag.js) - Google Analytics