欢迎光临易鼎网
详情描述

一、安装 IIS 和 FTP 服务

1. 启用 IIS 和 FTP 服务

# Windows 10/11 或 Windows Server
# 通过控制面板或 PowerShell 安装

# PowerShell 命令(管理员权限):
Enable-WindowsOptionalFeature -Online -FeatureName IIS-FTPServer
Enable-WindowsOptionalFeature -Online -FeatureName IIS-FTPServer-FTPS

2. 图形界面安装

打开"控制面板" → "程序" → "启用或关闭 Windows 功能" 勾选:
  • Internet Information Services
  • FTP 服务器(包含 FTP 服务和 FTP 扩展性)
  • Web 管理工具(可选)

二、配置 FTP 站点

1. 创建站点目录

# 创建 FTP 根目录
mkdir C:\FTPRoot
# 创建测试文件
echo Hello FTP > C:\FTPRoot\test.txt

2. 配置 FTP 站点

打开 IIS 管理器 右键"网站" → "添加 FTP 站点" 设置:
  • 站点名称:MyLocalFTP
  • 物理路径:C:\FTPRoot
  • IP 地址:选择本机 IP 或"全部未分配"
  • 端口:21(默认)
  • SSL:根据需要选择
  • 身份验证:基本(用于本地测试)
  • 授权:指定用户或所有用户

三、配置权限设置

1. 文件夹权限

# 为 FTP 目录设置权限
icacls C:\FTPRoot /grant "Users:(OI)(CI)RW"

2. 用户管理

# 创建 FTP 专用用户(可选)
net user FTPUser P@ssw0rd /add
# 授予目录权限
icacls C:\FTPRoot /grant FTPUser:(OI)(CI)RW

四、防火墙配置

1. 开放 FTP 端口

# 允许 FTP 通过防火墙
netsh advfirewall firewall add rule name="FTP Server" dir=in action=allow protocol=TCP localport=21

# 如果使用被动模式,还需要开放端口范围
netsh advfirewall firewall add rule name="FTP Passive Ports" dir=in action=allow protocol=TCP localport=50000-50100

2. IIS 管理器配置被动端口

在 IIS 管理器中选择服务器节点 双击"FTP 防火墙支持" 设置外部 IP 地址和数据通道端口范围

五、高级配置选项

1. 虚拟目录配置

右键 FTP 站点 → "添加虚拟目录" 指定别名和物理路径

2. 限制设置

<!-- 编辑 applicationHost.config -->
<location path="MyLocalFTP">
    <system.ftpServer>
        <security>
            <requestFiltering>
                <fileExtensions allowUnlisted="false">
                    <!-- 只允许特定文件 -->
                    <add fileExtension=".txt" allowed="true"/>
                </fileExtensions>
            </requestFiltering>
        </security>
    </system.ftpServer>
</location>

六、测试连接

1. 使用命令行测试

ftp localhost
# 输入用户名密码
# 使用命令:dir, put, get, bye

2. 使用 FTP 客户端

  • 地址:ftp://localhostftp://你的IP地址
  • 端口:21
  • 使用 Windows 身份验证或指定用户名

七、常见问题解决

1. 连接问题

# 检查服务状态
sc query FTPSVC

# 重启服务
net stop FTPSVC && net start FTPSVC

2. 权限问题

  • 确保用户有读取/写入权限
  • 检查文件夹的 NTFS 权限
  • 验证 IIS_IUSRS 权限

3. 被动模式问题

  • 在防火墙中打开被动端口范围
  • 配置正确的外部 IP

八、安全建议

使用强密码 限制用户权限 启用 SSL/TLS(如果需要安全传输) 使用 IP 限制 定期检查日志C:\inetpub\logs\FTP

简易脚本示例

# 快速安装配置脚本(管理员运行)
$FTPPath = "C:\FTPRoot"

# 创建目录
New-Item -ItemType Directory -Path $FTPPath -Force

# 安装服务
Install-WindowsFeature -Name Web-FTP-Server, Web-FTP-Service

# 创建站点
Import-Module WebAdministration
New-WebFtpSite -Name "QuickFTP" -PhysicalPath $FTPPath -Port 21

# 设置权限
icacls $FTPPath /grant "IIS_IUSRS:(OI)(CI)R"

这样配置后,本地 FTP 服务器就可以正常运行了。根据实际需求调整安全设置和权限配置。