首页 > 系统相关 >windows环境下如何优雅搭建ftp服务?

windows环境下如何优雅搭建ftp服务?

时间:2023-05-17 21:33:49浏览次数:43  
标签:ftp ftpd 配置文件 windows 优雅 admin ftpserver user

目录

0. 前言

由于学习或工作需要,我们经常需要和他人或其他电脑共享文件,在这之前我们普遍的做法是用U盘来回拷贝文件,但这样就存在着一个风险,①U盘容易中毒;②容易把U盘上的病毒带到别的电脑上。

不管哪个风险都是我们不愿看到的,为了尽可能规避以上风险,我们就想到了ftp服务。
为什么我们不在自己服务器上搭建一个ftp服务呢?

只要我们控制好权限,哪些用户可以上传文件,哪些用户只可以下载文件。这不就给我们共享文件带来了很大方便么,同事也规避了一些风险。

只要将我们需要共享的文件放到服务器上,只要网络正常,我们就很容易从服务器上拉取文件,或者将我们的文件共享给其他小伙伴。

说干就干,接下来我们就行动起来呗。搭建一个属于自己的ftp服务。

1.ftp简介

在搭建ftp服务前呢,我们先来了解下ftp协议和ftp服务器

  • ftp协议: 一种文件传输协议。在本地和服务器之间进行文件传输。
  • ftp服务器:支持ftp传输协议的服务器。一般windows都带有ftp服务,只是默认情况下都没启动。

ftp相关软件也比较多,其中运用比较广泛的有Server-U、FileZilla、VsFTP、apache旗下的FtpServer。

今天我们就来介绍一个开源的ftp服务器,Apache FTPServerFtpServer也就这次的主角,Apache FTPServer是一个100%纯Java的FTP服务器。FTPServer可独立运行作为Windows服务或Unix/ Linux后台程序或是被嵌入在Java应用程序中。

接下来我们就以FtpServer为例,搭建ftp服务。

2.下载Apache FTPServer

可以到官网下载:http://mina.apache.org/ftpserver-project/downloads.html 目前最新版本是Apache FtpServer 1.1.1 Release,出于稳定考虑我这里下载的就是1.0.6版本

3.下载并解压压缩包

将下载下来的压缩包解压到本地,我的是放在D盘根目录下,其目录结构如下图:
在这里插入图片描述

4.修改配置文件

4.1 修改users.properties配置文件

配置文件路径:
D:\apache-ftpserver-1.0.6\res\conf\users.properties
在此配置文件中可以增加用户,如果不希望匿名登录的话,可以将匿名用户这个配置注释掉

# 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

4.2 修改ftpd-typical.xml配置文件

配置文件路径:
D:\apache-ftpserver-1.0.6\res\conf\ftpd-typical.xml

<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="2121">  
            <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>

5.启动FTPServer

打开CMD命令窗口,切换到D:\apache-ftpserver-1.0.6\bin这个目录下 输入以下命令:

service install
ftpd.bat res/conf/ftpd-typical.xml

注意:由于ftpserver是纯java编写的,所以第二条命令的执行需要在环境变量中配置java环境JAVA_HOME。java环境此处省去,不会可以自行百度

输入完命令之后如下图所示,当出现FtpServer started 出现即启动成功
在这里插入图片描述

6.访问FTP

在游览器中,输入ftp://ip:2121进行访问,如果端口修改了,要换成对应的端口,ip就是FTP所在的服务器的ip,访问如下图所示:
在这里插入图片描述

当然我们也能通过工具直接访问,进行上传和下载文件操作
下面提供一个比较好用的免安装工具给大家,大家可以放心食用。

winscp553 百度云下载链接 提取码:sncs

7.ftp 的启动与关闭

将dos命令窗口关掉,ftp服务即关闭
那么我们怎么样启动ftp服务呢,

  • 可以根据前面所提到的命令启动,切换到D:\apache-ftpserver-1.0.6\bin这个目录下 输入以下命令:
service install
ftpd.bat res/conf/ftpd-typical.xml
  • 可以把启动命令制作成bat文件,内容为:
d:
cd D:\apache-ftpserver-1.0.5\bin
ftpd.bat res/conf/ftpd-typical.xml

随便起一个名字xx,命名为xx.bat,点击xx.bat文件即可启动ftp服务器。

是不是很简单呀,到此呢属于我们自己的ftp服务就搭建好了(●'◡'●)。

标签:ftp,ftpd,配置文件,windows,优雅,admin,ftpserver,user
From: https://www.cnblogs.com/xiezhr/p/17344799.html

相关文章

  • Windows10安装oracle 19c数据库+PLsql详细安装过程
    Windows版Oracle19c安装过程记录文章目录Windows版Oracle19c安装过程记录前言安装过程1下载2安装3检查是否安装成功。PLSQL连接Oracle数据库前言安装Windows版Oracle19c。官网:https://www.oracle.com/database/technologies/安装过程首先在百度上搜索Windows版Oraclec19安装。1......
  • wincc报表,通用报表,数据报表,独立于任何组态软件运行(为windows,pc端独立软件),
    wincc报表,通用报表,数据报表,独立于任何组态软件运行(为windows,pc端独立软件),1:可以采集任何pc端组态软件(ifix,wincc,组态王,simatic_net,pcacess,pcacesssmart,kep等等)2:支持服务器读写,同时支持数据库读写修改3:支持日报,月报,时报,年报等多种报表生成4:支持时间段,单字段,值区间,字段排序等功能......
  • 记录--vue3优雅的使用element-plus的dialog
    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助如何优雅的基于element-plus,封装一个梦中情dialog优点摆脱繁琐的visible的命名,以及反复的重复dom。想法将dialog封装成一个函数就能唤起的组件。如下:addDialog({title:"测试",//弹窗名compone......
  • 在Linux/Windows/Mac上刷新DNS缓存的方法
    在Linux/Windows/Mac上刷新DNS缓存的方法刷新dns缓存让你可以得到新的域名解析。当你无法正确访问一个新注册的域名时就可以刷新dns缓存试试。但是不同的系统,Windows、MacOS和Linux上的方法是不一样的。1.Windows系统刷新DNS缓存开始-->运行-->输入cmd并回车在打开的命......
  • MAC的U盘在windows下格式化
    MAC的U盘在windows下格式化1.进入命令提示符2.输入Diskpart 进入磁盘管理3.listdisk 显示所有的磁盘4.selectdisk2(2为刚刚list出来U盘序号)5.输入clean6.然后就可以正常格式化了.如果还是不行.进入磁盘管理.先分区.再格式化......
  • Windows 下的包管理工具
    开个坑,记一下这两个名字,哪天有空了都试试:-Chocolatey(NuGet)-Scoop之前有用过NuGet,感觉还可以的,没有深度使用。Scoop说是包都是全方位定制的,包会装在指定目录,自动解决依赖等等等等。Scoop可以装清净版的WPS也是比较贴心。 这位大兄弟这里整理的信息比较全:https://w......
  • 如果微软限制使用Windows系统了,我们该怎么办?
    ​正如中国工程院院士倪光南所说,操作系统的成功与否,关键在于生态系统,需要搭建起完整的产业链上各个主体共生的生态体系。当前我国国产操作系统市场发展很快,相比技术和市场突破,真正需要解决的问题是如何把生态建好。所谓“无生态,不OS”,是否具有完善的生态,是操作系统产业实现可......
  • 有以下一些功能在Windows 11中已经被Microsoft官方弃用,以及对应的新功能替代
    有以下一些功能在Windows11中已经被Microsoft官方弃用,以及对应的新功能替代:Cortana语音助手-在Windows11中仅作为一个普通的搜索工具出现,而没有必要使用语音命令来激活任务栏上的Cortana按钮。InternetExplorer-InternetExplorer(IE)浏览器在Windows11中将不再提供支......
  • 在Windows服务器上安装并配置frp工具进行端口转发
    在Windows服务器上安装并配置frp工具进行端口转发将Windows服务器上的3389端口转发到9833端口,并使用nmap扫描9833端口以获取服务器的服务信息 frp项目地址:https://github.com/fatedier/frp/releases frpc是客户端,而frps是服务器端。在frps的配置文件中,添加以下配置,将3389......
  • Windows的disk报错代码153和SCSI代码简要分析
    SCSI报错代码示例Windows服务器上频繁出现event上来源为disk,ID为153的事件,并且影响到了数据库业务的正常运行。点击该事件的详细信息,可以看到对应的SCSI读写请求及其状态。上文scsi的译义如下:offset29SCSISatus为00,译义为SCSISTAT_GOOD,对应SCSI端口和驱动。offset30S......