基于IIS搭建FTP服务器_Windows篇

本文详细介绍了如何在Windows系统上使用IIS工具搭建FTP服务器,包括创建用户组、创建用户、配置身份验证、设置目录权限和进行FTP服务器测试,使用了Xftp工具和C#示例代码进行验证。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考网址: https://blog.csdn.net/Abaonanermy/article/details/131529507

一、引言

本文章主要介绍如何基于Windows自带的IIS工具来搭建FTP服务器。

二、环境要求

个人PC上装有Windows10操作系统,或者Server版本的Windows操作系统。

三、前期准备

3.1 创建用户组

Windows10对用户组和用户的管理比较严格,而且我们作为一个FTP服务器,肯定涉及到非常多的用户,单独使用用户来管理工作量非常大而且不方便,所以这里我们首先创建一个用户组ftpGroup。

Step1:快捷键:Windows+R->打开运行窗口,输入:compmgmtlauncher,点击确定

image-20231008084329903

Step2:计算机管理 -> 系统工具 -> 本地用户和组 –> 组 -> 右键,新建组。填写组名、描述,最后点击创建。

image-20231008084625173

Step3:创建成功后,可以看到多出一个ftpGroup组

image-20231008084842217

3.2 创建用户

作为FTP服务器,需要多个用户,我们这里只创建一个,其他的大家按照同样的方法创建即可。

Step1:本地用户和组 -> 用户 -> 右键,新用户。输入用户名、密码(用户密码会被进行简单性校验,最好包含字母字符和数字) 去掉用户下次登录时须更改密码选项,勾选密码永不过期,点击创建。

image-20231008085210880

Step2:创建成功后,可以看到用户中多出一个ftpUser1用户

image-20231008085405180

Step3:修改刚才创建的ftpUser1用户所隶属的用户组,选中用户名右击->属性

image-20231008085726831

Step4:隶属于->添加,输入对象名称(就是3.1创建的那个用户组名称)后,点击检查名称,最后点击确定。

image-20231008085826200

Step5:完成后,可以看到ftpUser1隶属的用户组如下:

image-20231008090106329

我们需要将出ftpGroup组以外的其他组删除,具体操作是:选中组名称(如Users),点击删除,最后点击应用->确定。

四、搭建FTP服务器

4.1 准备工作

Step1:快捷键:Windows+R,打开运行窗口,输入:control点击确定

image-20231008090453039

Step2:点击程序和功能->点击启用或关闭Windows功能,将Internet Informations Services及其下方的所有选项都勾选上,然后点击确定等待安装完成。

image-20231008090539557

image-20231008090630808

4.2 安装FTP服务器

Step1:快捷键:Windows+R->打开运行窗口,输入:compmgmtlauncher,点击确定

image-20231008084329903

Step2:点击服务和应用程序下的Internet Information Services(IIS)管理器->右击网站->添加FTP站点

image-20231008091327496

Step3:填写FTP站点名称,自定义即可(注意不要有中文字符和其他特殊字符);物理路径:选择一个你本地电脑存在的路径即可(最好不含中文)。最后,点击下一步。

image-20231008091553576

Step4:勾选无SSL->下一步

image-20231008091836698

Step5:身份验证,勾选基本;授权->允许访问->选择:指定角色或用户组,然后填写用户组名称(即3.1创建用户组中创建的);权限候选:读取、写入,最后点击完成。

image-20231008091945373

4.3 设置目录权限

Step1:找到4.2安装FTP服务器Step3中的物理路径,选中路径中最底层文件夹,鼠标右击->属性,切换到安全选项卡,点击编辑->添加->输入对象名称ftpGroup(即3.1用户组),然后点击检查名称->确定

image-20231008092727690

Step2:选中ftpGroup用户组,在下方权限中勾选上相应权限,点击应用->确定

image-20231008092939609

至此,有关FTP服务器的搭建工作已完成,由于涉及用户组的变更,可能需要重启后才能生效。建议重启服务器后再测试连接。

- 否则可能导致无法连接ftp服务器
- 重启后即可进行访问验证   ftp://地址

五、启动FTP服务器

Step1:打开IIS找到我们刚才创建的FTP站点,点击启动。提示:如下图所示信息,则表示Windows服务没有开启。

Step2:快捷键:Windows+R,打开运行窗口,输入:services.msc,点击确定。

image-20231008095013247

Step3:找到Microsoft FTP Service并启动。

image-20231008095053972

Step4:再次执行Step1,启动FTP服务器。

六、FTP服务器测试

6.1 Xftp工具

百度网盘下载链接:链接:https://pan.baidu.com/s/19mLZyEpjSwU2rUIcZprpmg?pwd=0703
提取码:0703

Xftp安装完成并打开,点击顶部菜单栏文件->新建,填写基本信息即可,其中协议:FTP;用户名:3.2创建的用户;密码:3.2创建用户时所指定的密码。

image-20231008100028856

image-20231008095604909

登录成功主界面显示如下

image-20231008095657641

6.2 C#代码

Step1:新建一个Winform项目,然后通过NuGet安装第三方类库FluentFTP。

image-20231008100350279

Step2:新建一个窗体Form,然后在其Load事件中加入如下测试代码即可。

using FluentFTP;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Deployment.Application;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace AppAutoUpdate
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            upload2FTP();
        }
        private void upload2FTP()
        {
            string host = "localhost";//FTP服务器主机
            string username = "ftpuser1";//用户名
            string password = "Hey0703112418";//密码
            string uploadFile = $@"E:\第三范式\猫神快开平台使用技巧.md";//上传文件路径

            FtpClient ftpClient = new FtpClient(host, username, password);
            ftpClient.AutoConnect();
            try
            {
                if (!ftpClient.DirectoryExists("HeyVital"))
                    ftpClient.CreateDirectory("HeyVital");
                FtpStatus status = ftpClient.UploadFile(uploadFile, "HeyVital/" + Path.GetFileName(uploadFile));
                if ((int)status == 1)
                    MessageBox.Show("上传成功");
                //FtpListItem[] items = ftpClient.GetListing("HeyVital");
                //ftpClient.DeleteFile(items[0].FullName);
                ftpClient.Dispose();
            }
            catch (Exception ex)
            {
                throw;
            }
        }
    }
}

执行完上述代码后,如果在FTP文件夹路径下包含刚才上传的文件,表示FTP服务器搭建成功。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值