应为web服务账户授予最小必要ntfs权限:主目录用rx(含oi、ci、/t)实现读取与执行,上传子目录单独授m权限,避免全局写入,并用icacls验证清理冗余条目。
给 web 服务账户(如 iis_iusrs、nt authority\iusr 或自定义应用池标识)赋予静态目录权限,核心是用 icacls 精确授予最小必要权限,避免过度开放。操作前需确认账户名、路径和权限粒度。
确认 Web 服务账户身份
不同部署方式对应不同默认账户:
- IIS 默认匿名访问用
NT AUTHORITY\IUSR - IIS 应用池默认身份是
ApplicationPoolIdentity,实际表现为IIS AppPool\{池名}(如IIS AppPool\DefaultAppPool) - 若已配置为特定域用户或本地用户,直接使用其完整名称(如
DOMAIN\WebSvcUser或.\WebSvcUser)
授予读取与执行权限(静态文件必需)
静态网站只需读取(R)、列出内容(L)、执行/遍历(X)——即 RX 权限组合。命令示例:
icacls "C:\inetpub\wwwroot" /grant "IIS AppPool\DefaultAppPool":(OI)(CI)RX /T
-
(OI):对象继承 → 应用于所有文件 -
(CI):容器继承 → 应用于所有子文件夹 -
RX:读取 + 执行(含遍历目录),足够服务 HTML、CSS、JS、图片等静态资源 -
/T:递归应用到整个目录树
按需补充写入权限(仅限上传目录)
若存在用户上传功能(如头像、附件),**切勿对整个站点目录开放写入**,而应单独授权上传子目录:
icacls "C:\inetpub\wwwroot\uploads" /grant "IIS AppPool\DefaultAppPool":(OI)(CI)M /T
-
M(Modify)包含读、写、删除、修改属性等,比单纯W更实用且安全可控 - 保持主目录仍为
RX,上传目录单独设M,实现权限分离
验证并清理冗余权限
授予权限后建议检查是否生效,并移除不必要的显式条目:
- 查看当前 ACL:
icacls "C:\inetpub\wwwroot" - 确认目标账户出现在输出中,且权限含
(OI)(CI)(RX)或类似标记 - 若发现旧账户残留或宽泛权限(如
Everyone:(F)),可用/remove清理:icacls "C:\inetpub\wwwroot" /remove "Everyone" /T











