ftp服务器的搭建,以及Springboot整合ftp服务实现文件上传

一、ftp服务的搭建与简单使用

1、windows下搭建

步骤一: 安装FTP服务器支持和IIS管理平台。

操作步骤: 电脑 => 控制面板 => 程序和功能 => 启用和关闭Windows功能 => Internet Infomation Services => 勾选【FTP服务器】和Web管理工具的【IIS管理控制台】=> 点击确定等待安装完成
在这里插入图片描述

步骤二: 打开IIS管理器

操作步骤: 电脑 => 控制面板 => 管理工具 => Internet Infomation Services(IIS)管理器
在这里插入图片描述

步骤三: 创建FTP服务器

操作1:
在某个盘符如D盘,创建一个FTP共享文件夹,用于FTP共享文件存放地址
操作2:
右键IIS管理器左边导航栏 => 添加FTP站点

在这里插入图片描述

操作3:
指定【站点名称】和【FTP共享的文件夹路径】

在这里插入图片描述

操作4:
配置FTP服务器相关信息

在这里插入图片描述

操作5:
配置FTP服务器验证和权限信息 
【注意:如果想通过程序实现上传、下载功能,身份验证中的基本选项需要勾选上,后面程序需要通过这个方式使用账号和密码登录到FTP服务器】

在这里插入图片描述

操作6:
在同一网段的小伙伴可以通过:ftp://ftp配置的ip地址 格式访问到FTP服务器。

在这里插入图片描述

其他问题

问题: FTP按照流程搭建完成后,在同一网段的小伙伴却无法访问!
原因: 可能是开启了防火墙拦截,需要在防火墙放行FTP服务器。
解决: 电脑 => 控制面板 => Windows Defender 防火墙 => 允许应用通过Windows Defender 防火墙进行通信 => 勾选【FTP服务器】

在这里插入图片描述

2、linux下搭建(vsftpd)

其实在linux下的搭建很简单,分为三步,下载、安装、配置。
其中vsftpd的配置项比较多,所以本文重点会在vsftpd的配置里

2.1、安装启动

 # 1. 安装
 yum install vsftpd -y  # 如果没有外网,那么可以下载离线包然后安装
 
 # 2. 启动
 systemctl start vsftpd.service
 
 # 3.查看进程是否启动
 ps -ef | grep vsftpd
 
 # 4.查看端口号
 netstat -anplut | grep vsftpd
 
 # 5.修改配置文件
 vim /etc/vsftpd/vsftpd.conf

2.2、 配置

(1)配置文件说明

选项说明
anonymous_enable设置是否允许匿名用户登录服务器
local_enable设置是否允许本地用户登录服务器
write_enable设置是否允许写操作
local_umask设置本地用户创建文件的umask值
anon*_upload_enable*设置是否允许匿名用户上传文件
anon*_mkdir_write_enable*设置是否允许匿名用户建立目录
xferlog_enable是否激活日志功能
chown_uploads修改匿名用户上传文件的所有者
chown_username=whoever启用chown_uploads=YES时,指定为主用户账户,whoever表示你的ftp用户
chroot*_local_user*设置是否将所有用户限制在其主目录
chroot*_list_enable*设置是否启用限制用户的名单
chroot*_list_file*设置是否限制/排除主目录下的用户名单,限制/排除有chrootlocaluser值决定
allow*_writeable_choot*设置chroot目录的写权限

2.3 登录

vsftpd允许用户以3种认证模式登录到FTP服务器上。

  • 匿名用户:任何人都可以直接登录服务器
  • 本地用户:通过本地用户输入密码登录服务器( 在生产环境中,我们通常使用本地用户登录这种方式
  • 虚拟用户:本身不存在、是一个虚拟出来的用户、就算黑客破解的用户信息也无法登录服务器
2.3.1 匿名登录

匿名用户登录的参数说明

参数作用
anonymous_enable=YES允许匿名用户访问
anon_umask=022匿名用户上传文件的umask值
anon_upload_enable=YES允许匿名用户上传文件
anon_mkdir_write_enable=YES允许匿名用户创建文件
anon_other_write_enable=YES允许匿名用户修改目录名称或删除目录

(a) 修改配置文件:

vi /etc/vsftpd/vsftpd.conf

修改内容如下,前面是行号

12 anonymous_enable=YES
29 anon_upload_enable=YES  # 允许上传文件 如果前面有# 删除最前面的 “#”
33 anon_mkdir_write_enable=YES  # 允许创建文件

(b) 重启FTP服务

systemctl restart vsftpd

可能出现的问题
连接ftp服务后,创建文件夹或者文件失败,可能是文件夹权限不够导致,使用如下命令更改权限

chmod 777 /var/ftp/pub  #给目录所属设置为ftp
2.3.2 本地用户登录

(a) 首先在linux上创建ftp用户

# 第一步、创建ftp用户的所属目录
mkdir /usr/local/ftp
# 第二步、创建用户
useradd ftpUser -d  /usr/local/ftp
# 第三步、给用户设置密码
echo "123" | passwd --stdin ftpUser

(b) 修改配置文件

vim /etc/vsftpd/vsftpd.conf

# 不允许匿名用户访问
12 anonymous_enable=NO 

# 对应(a)中第一步,“创建ftp用户的所属目录”
13 local_root=/web/www/html  # 添加
102 chroot_list_enable=YES  # 取消注释  激活chroot功能
104 chroot_list_file=/etc/vsftpd/chroot_list # 取消注释 锁定用户在根目录中的列表文件

# 启用chroot,允许chroot限制
105 allow_writeable_chroot=YES # 添加
106 write_enable=yes # 添加

(c ) 建立/etc/vsftpd/chroot_list文件 [此处目录对应的是(b)中第“104”行配置]

vim /etc/vsftpd/chroot_list

#加入下面的用户名
ftpUser

(d) 重启FTP服务

systemctl restart vsftpd

二、Springboot整合ftp服务,实现文件上传下载功能

  • 21
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

HelloWorld高级工程师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值