Apache Ftp Server 学习总结
1 介绍
Apache Ftp Server 是100%纯Java的FTP服务器软件,它采用MINA网络框架开发具有非常好的性能。Apache FtpServer 既可以嵌到Java应用中使用,也可以做为Windows服务或Unix/Linux Daemon单独运行。此外还提供与Spring 相集成的模块。
2 用户管理
用户管理主要对于FTP的用户进行管理,包括用户名,用户密码,用户的根目录,用户的写权限,登陆超时,最大连接数,最多连接ip数,上传速度,下载速度。
Apache Ftp Server 提供多种方式的用户注册:文件、URL、数据库、手动注册等
2.1 文件注册用户
文件注册用户是最常用,也是用的最多的方式,你可以通过配置users.properties来实现。
users.properties:
//用户的根目录
ftpserver.user.admin.homedirectory=/ftproot
//用户的密码,是加密过的密码(加密方式有2种,MD5和SHA)
ftpserver.user.admin.userpassword=21232F297A57A5A743894A0E4A801FC3
//用户是否有效
ftpserver.user.admin.enableflag=true
//用户的写权限
ftpserver.user.admin.writepermission=true
//用户的超时时间
ftpserver.user.admin.idletime=0
//用户的最大登陆数
ftpserver.user.admin.maxloginnumber=0
//用户的最大ip连接数
ftpserver.user.admin.maxloginperip=0
//上传速度
ftpserver.user.admin.uploadrate=0
//下载速度
ftpserver.user.admin.downloadrate=0
users.properties加载方式有2种,一种通过依赖ftpd-typical.xml或是ftpd-full.xml来加载
另一种是通过手动代码的形式加载。
1) 依赖ftpd-typical.xml或是ftpd-full.xml来加载
ftpd-typical.xml的配置:
<?xmlversion="1.0"encoding="UTF-8"?>
<serverxmlns="http://mina.apache.org/ftpserver/spring/v1"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://mina.apache.org/ftpserver/spring/v1http://mina.apache.org/ftpserver/ftpserver-1.0.xsd
"
id="myServer">
<listeners>
<nio-listenername="default"port="2121">