ftpserver环境搭建
一、docker方式安装
安装docker
-
安装:,参考
-
curl -sSL https://get.daocloud.io/docker | sh
-
更换
docker
源:echo "\ { \"registry-mirrors\": [ \"https://kfwkfulq.mirror.aliyuncs.com\", \"https://2lqq34jg.mirror.aliyuncs.com\", \"https://pee6w651.mirror.aliyuncs.com\", \"https://registry.docker-cn.com\", \"http://hub-mirror.c.163.com\" ], \"dns\": [ \"8.8.8.8\", \"8.8.4.4\" ] }" > /etc/docker/daemon.json && /etc/init.d/docker restart
创建
创建容器,自行更换FTP_USER
、FTP_PASS
、PASV_ADDRESS
参数
文件存放在宿主机:/Ftpfile
目录下
docker run -itd -p 20:20 -p 21:21 -p 21100-21110:21100-21110 \
-v /Ftpfile:/home/vsftpd \
-e FTP_USER=test -e FTP_PASS=123456 \
-e PASV_ADDRESS=10.1.40.180 \
-e PASV_MIN_PORT=21100 -e PASV_MAX_PORT=21110 \
--name vsftpd --restart=always fauria/vsftpd
创建用户
docker exec 容器名称 addusr 用户名 密码
docker exec ftp addusr lstcml 123456
二、Apache FtpServer
Linux平台下直接用vsftpd
感觉还是比较麻烦,使用这个比较方便
-
解压并进入根目录:tar -zxvf apache-ftpserver-1.1.4-bin.tar.gz;cd apache-ftpserver-1.1.4
-
备份配置:
cp -r res/conf/users.properties res/conf/users.properties.origin cp -r res/conf/ftpd-typical.xml res/conf/ftpd-typical.xml.origin
-
users.properties
文件,在该配置文件中可以增加用户,形如【ftpserver.user.用户名.xxxx】不允许匿名登录的话,将对应的
anonymous
删除或注释掉# Password is "admin" ftpserver.user.admin.userpassword=admin ftpserver.user.admin.homedirectory=./res/home ftpserver.user.admin.enableflag=true ftpserver.user.admin.writepermission=true ftpserver.user.admin.maxloginnumber=0 ftpserver.user.admin.maxloginperip=0 ftpserver.user.admin.idletime=0 ftpserver.user.admin.uploadrate=0 ftpserver.user.admin.downloadrate=0 ftpserver.user.anonymous.userpassword= ftpserver.user.anonymous.homedirectory=./res/home ftpserver.user.anonymous.enableflag=true ftpserver.user.anonymous.writepermission=false ftpserver.user.anonymous.maxloginnumber=20 ftpserver.user.anonymous.maxloginperip=2 ftpserver.user.anonymous.idletime=300 ftpserver.user.anonymous.uploadrate=4800 ftpserver.user.anonymous.downloadrate=4800 #密码 配置新的用户 ftpserver.user.lxw.userpassword=123456 #主目录 ftpserver.user.lxw.homedirectory=./res/home #当前用户可用 ftpserver.user.lxw.enableflag=true #具有上传权限 ftpserver.user.lxw.writepermission=true #最大登陆用户数为20 ftpserver.user.lxw.maxloginnumber=20 #同IP登陆用户数为2 ftpserver.user.lxw.maxloginperip=2 #空闲时间为300秒 ftpserver.user.lxw.idletime=300 #上传速率限制为480000字节每秒 ftpserver.user.lxw.uploadrate=48000000 #下载速率限制为480000字节每秒 ftpserver.user.lxw.downloadrate=48000000
-
ftpd-typical.xml,需要动的只有port和encrypt-passwords
<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="myServer"> <listeners> <!-- 默认端口是2121,可以修改为自己的端口 --> <nio-listener name="default" port="21"> <ssl> <keystore file="./res/ftpserver.jks" password="password" /> </ssl> </nio-listener> </listeners> <file-user-manager file="./res/conf/users.properties" encrypt-passwords="clear"/> <!-- 添加encrypt-passwords="clear",将密码加密方式修改给clear --> </server>
-
启动:
sh ./bin/ftpd.sh res/conf/ftpd-typical.xml
-
开机自启可以用
crontab
或supervisor
,不再赘述