解析FTP服务(文件的下载、上传)

FTP服务和文件共享服务的区别在于,文件共享服务只可以用于局域网,而FTP服务既可以用于局域网也可以用于广域网。
如何搭建FTP:
第一步:服务管理器
第二步:点击添加角色
第三步:选择Web服务
第四步:在角色服务界面添加FTP服务器(如果不添加此服务则无法使用FTP功能)
第五步:点击安装(操作如下)


进入服务管理器IIS管理器
第一步:右键点击服务器
第二步:选择添加FTP站点
第三步:输入站点名称(例:yun),选择路径:E:\yunsit作为站点供上传和下载(此文件夹提前创建好)
第四步:绑定和SSL设置:前提条件:确认服务器和客户端互联互通,并且网络在同一网段,选择IP地址为192.168.100.100,默认选择自动启动FTP站点,SSL(证书验证):选择无SSL
第五步:进入身份验证和授权信息,选择身份验证为基本,授权允许访问为指定用户,例如zhangsan,权限设置为读取和写入
第六步:点击完成(此时站点创建完毕)
操作如下




我们准备去验证实验之前:我们回想一下FTP中设置了zhangsan用户可以读取和写入
我们在进入yunsit文件夹的安全的Users组中看到写入权限是没有勾选的
如果我们后面验证的时候zhangsan用户可以进行读取和写入,则表明只要在FTP中设置权限就可以了;如果不可以的话则表明还需要设置文件夹本身的权限

FTP站点在客户端的访问方式:
第一种:资源管理器
进入win10系统 选择资源管理器,点击地址栏输入ftp://1921.168.100.100敲回车(此操作之前需先关闭server2016系统中的防火墙),此时会跳出身份验证提示,输入zhangsan,密码123,点击登录就可以进入到ftp站点了


此时站点中内容为空,我们回到server2016中的共享文件夹yunsit中创建一个demo01的TXT文件,点击进入文档输入内容:“thisi is demo”点击保存,此时生成此文档,我们再回到win10中在站点点击刷新,文档出现,
这个时候我们需要此文件,下载直接拖动文件到桌面(此时代表是有读取权限的)
大家知道写入权限的话控制着该账户能否上传和删除,此时我们把桌面的文件名改为demo02,文字中添加02,此时我们拖动桌面文档到FTP中,可以拖进来表示可以上传,此时服务器端也是可以看到新增加的文件的,如此则表示实验成功!
第二种:浏览器
进入浏览器,在地址栏输入ftp://192.168.100.100,输入用户名和密码登录,此时可以看到站点中的文件,此时我们发现使用浏览器打开站点,看到的文件只可以下载,但是是没有上传功能的


第三种:命令提示符
进入win10,运行cmd,输入ftp 192.168.100.100敲回车,此时提示输入账号输入zhangsan敲回车,提示输入密码输入123敲回车,提示logged in(进入),此时进入ftp站点但是看不到文件,接下来我们还需要输入命令dir,提示文件传输程序是否允许访问选择允许,得到站点中的文件。
如果这个时候我想下载的话如何操作?如果不清楚我们可以输入命令: help,其中put为上传,get为下载,bye为退出,此时下载的话需要输入的命令就是: get demo01.txt然后敲回车下载,此时文件保存在C:\users\chen的目标路径下,如果我们想指定路径下载,这个时候例如下载到d盘,输入指令bye,再次登录之前输入指令d:,在输入ftp地址登录时就会显示路径在d盘,此时下载下来的文件就在d盘中了






这个时候我们在编辑下载下来的文档名称为demo03,然后上传此文件,在登陆路径,输入指令: put demo03.txt敲回车,显示上传成功。

以上的实验就是ftp站点在客户端的访问方式。

匿名访问站点设置:
进入IIS管理器,选择访问规则,点击编辑,选择所有用户(如果是匿名用户的话选择所有匿名用户),这个时候考虑到安全原因我们只给到读取的权限
回头进入win10,进入资源管理器输入ftp站点地址,此时因为是所有用户,所以超级管理员是可以登陆的,匿名用户的话需要先在IIS管理器中的身份验证中设置匿名身份验证为启用,然后登录界面勾选匿名登录,直接敲回车就可以进入了



如果使用命令提示符匿名访问操作如下:

如何设置拒绝文件上传类型:
在IIS管理器中的站点,选择请求筛选,选择拒绝文件拓展名,例如doc,后面进行验证试验,进入站点后拖动新建的doc文件进入站点会提示没有权限,则实验成功。


以上全部内容就是我和大家分享的FTP服务的相关内容,谢谢!

原文地址:https://blog.51cto.com/14464303/2424694

时间: 2024-10-10 06:15:25

解析FTP服务(文件的下载、上传)的相关文章

基于commons-net实现ftp创建文件夹、上传、下载功能

原文:http://www.open-open.com/code/view/1420774470187 package com.demo.ftp; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.io.PrintWriter

C#FTP操作类含下载上传删除获取目录文件及子目录列表等等

ftp登陆格式  : ftp://[帐号]:[密码]@[IP]:[端口] ftp://用户名:密码@FTP服务器IP或域名:FTP命令端口/路径/文件名 直接上代码吧,根据需要选择函数,可根据业务自己修改,如日志记录,提示等等 using System; using System.Collections.Generic; using System.Text; using System.IO; using System.Net; using System.Windows.Forms; using

使用MFC WinInet进行FTP中文件的简单上传和下载功能

建立基于对话框的MFC应用程序CMfcFtpWinInetDlg: 1.首先Dlg类中包含头文件 #include "afxinet.h" 2.添加成员变量: C++ Code 123   private: CFtpConnection*     m_pFtpConnection; CInternetSession    m_Session; 3.在OnInitDialog中加入Ftp连接代码: C++ Code 123456789101112131415161718   // TOD

Java实现FTP文件与文件夹的上传和下载

FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”.用于Internet上的控制文件的双向传输.同时,它也是一个应用程序(Application).基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种协议以传输文件.在FTP的使用当中,用户经常遇到两个概念:"下载"(Download)和"上传"(Upload)."下载"文件就是从远程主机拷贝文件至自己的计算机上:&quo

Java实现FTP文件与文件夹的上传和下载1

Java实现FTP文件与文件夹的上传和下载 http://www.cnblogs.com/winorgohome/archive/2016/11/22/6088013.html FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”.用于Internet上的控制文件的双向传输.同时,它也是一个应用程序(Application).基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种协议以传输文件.在FTP的使用当中,用户经常遇

【应用】:shell crontab定时生成oracle表的数据到txt文件,并上传到ftp

一.本人环境描述      1.oracle服务端装在win7 32位上,oracle版本为10.2.0.1.0      2.Linux为centos6.5 32位,安装在Oracle VM VirtualBox虚拟机上      3.win7上装有ftp服务 二.功能实现描述      用shell的crontab命令定时执行某个.sh文件,此文件的功能已实现生成oracle表的数据到本地txt文件,并上传到ftp,必要时可记录执行日志. 三.步骤      1.在centos中安装orac

https 协议下服务器根据网络地址下载上传文件问题

https 协议下服务器根据网络地址下载上传文件遇到(PKIX:unable to find valid certification path to requested target 的问题) 使用httpclient  所有站点全部信任 不做身份鉴定: 1 public static CloseableHttpClient getHttpClient() throws Exception { 2 SSLConnectionSocketFactory sslsf = null; 3 Poolin

spring cloud实战与思考(三) 微服务之间通过fiegn上传一组文件(下)

需求场景: 用户调用微服务1的接口上传一组图片和对应的描述信息.微服务1处理后,再将这组图片上传给微服务2进行处理.各个微服务能区分开不同的图片进行不同处理. 上一篇博客已经讨论了在微服务之间传递一组图片和对应参数的解决方案.现在来看看如何对组内文件进行区分.当前项目中使用了"commons-fileupload"和"feign-form"两个库进行文件传输. "commons-fileupload"库可以将http request转换成&quo

JS开发——文件夹的上传和下载

文件夹上传:从前端到后端 文件上传是 Web 开发肯定会碰到的问题,而文件夹上传则更加难缠.网上关于文件夹上传的资料多集中在前端,缺少对于后端的关注,然后讲某个后端框架文件上传的文章又不会涉及文件夹.今天研究了一下这个问题,在此记录. 先说两个问题: 是否所有后端框架都支持文件夹上传? 是否所有浏览器都支持文件夹上传? 第一个问题:YES,第二个问题:NO 只要后端框架对于表单的支持是完整的,那么必然支持文件夹上传.至于浏览器,截至目前,只有 Chrome 支持. 如果需要其它的浏览器支持则需要

spring cloud实战与思考(二) 微服务之间通过fiegn上传多个文件1

需求场景: 微服务之间调用接口一次性上传多个文件. 上传文件的同时附带其他参数. 多个文件能有效的区分开,以便进行不同处理. Spring cloud的微服务之间接口调用使用Feign.原装的Feign不支持文件的传输.需要借助"Feign-form"库才行.但是貌似"Feign-form"库(至少是3.0.3版本)只支持单文件上传.在接口中使用多文件参数时会报异常: feign.codec.EncodeException: class [Lorg.springfr