IIS7:通过脚本来配置ftp站点
Appcmd.exe是IIS7提供的一个管理站点的命令行工具,同时支持Ftp和Http的站点,功能还算强大,具体使用方法参考微软网站。
需求
我这里的例子主要配置一个Ftp站点,并且允许CcUser这个用户对其目录具备读和写的权限:
代码
@echo off set cc_inbox_dir=c:\CC_Inbox set cc_outbox_dir=c:\CC_Outbox set appcmd_exe=%systemroot%\system32\inetsrv\appcmd.exe set ftp_siet_name=CC_Inbox ::create cc inbox folder ::rd /S /Q %cc_inbox_dir% IF NOT EXIST %cc_inbox_dir% (md %cc_inbox_dir%) ::create cc outbox folder ::rd /S /Q %cc_outbox_dir% IF NOT EXIST %cc_outbox_dir% (md %cc_outbox_dir%) ::delete the ftp site and then make a new one. ID of the ftp site will be auto-generated. %appcmd_exe% delete site %ftp_siet_name% %appcmd_exe% add site /name:%ftp_siet_name% /bindings:ftp://*:21 /physicalpath:%cc_inbox_dir% ::add virtual dir for cc outbox. Note there is "/' at the end of the app.name %appcmd_exe% add vdir /app.name:"%ftp_siet_name%/" /path:/outbox /physicalpath:%cc_outbox_dir% ::config ftp authentication %appcmd_exe% set site %ftp_siet_name% -ftpServer.security.ssl.controlChannelPolicy:SslAllow -ftpServer.security.ssl.dataChannelPolicy:SslAllow -ftpServer.security.authentication.basicAuthentication.enabled:true ::config ftp authorization to allow CcUser to read and write %appcmd_exe% set config %ftp_siet_name% -section:system.ftpServer/security/authorization /+"[accessType='Allow',users='CcUser',permissions='Read, Write']" /commit:apphost
要点
- appcmd.exe默认没有添加到Path里,需要指定完整的路径。
- 如果64机器上应该使用64位的版本,32位的版本在Wow64目录下
- 如果需要IP Address设置成“All Unassigned”,在bindings的时候使用“*”,而不要使用ip地址或机器名
- “/app.name”参数的值应该以“/”结尾,比如应该用“CC_Inbox/”而不是“CC_Inbox”
- Authentication的设置在添加ftp站点的时候没法设置,但是可以通过修改ftp站点的属性来完成
- Authorization(比如文件的访问权限)不在ftp站点的属性中,而是system级别的属性,修改完最后记得提交 “/commit:apphost”
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 深入理解 Mybatis 分库分表执行原理
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 现代计算机视觉入门之:什么是图片特征编码
· .NET 9 new features-C#13新的锁类型和语义
· Spring AI + Ollama 实现 deepseek-r1 的API服务和调用
· 《HelloGitHub》第 106 期
· 数据库服务器 SQL Server 版本升级公告
· 深入理解Mybatis分库分表执行原理
· 使用 Dify + LLM 构建精确任务处理应用