Windows服务器站点搭建:权限配置零越权、零宕机
|
去年八月,我在机房配完权限刚离开,小李——就是戴黑框眼镜那个,新来的运维——在隔壁工位喊我名字,说站点挂了。我转身就往回走,没跑,鞋跟卡在防静电地板缝里一次,拔出来时听见他手机在震,是客服热线打来的,响了七下他没接。 我原以为是IIS服务崩了,结果进控制台一看,ApplicationPool全绿的,日志里连 Warning 都没刷出一行。但用户打不开首页,后台也进不去,全是 503,偶尔跳一下 502——就那种一闪就收、连状态码都来不及截图的 502。我盯着进程列表看了三分钟,w3wp.exe 进程在,CPU 占用率 1.7%,内存涨得平缓,像没事儿人一样。可一刷新,502 又来了,像抽风。 我把权限配置表调出来,一条条比对:IIS_IUSRS 对站点目录只有读+执行;ApplicationPoolIdentity 对 App_Data 是写入权限,但只限该池专用账户;匿名用户身份被禁用了,全部走 Windows 身份验证;Web.config 里 开着,但没设 userName/password——这点我盯了八遍,没错。反正就这一套配置,从测试服到生产服,全量复制粘贴,没动过 ACL 的任何一行继承链。 小李突然说:“等等……那个 Backup 目录,是不是还挂着 NTFS 权限?” 我手一顿,点开 D:\\Sites\\live\\Backup,右键属性——果然,Everyone 全控制,勾着,红色感叹号。但那是备份脚本自动建的子目录,和站点运行无关。我顺手把它权限清空、继承重置,点确定。页面刷一下就回来了,首屏加载二十来秒,但能进。 (窗外有人推着清洁车经过,轮子卡在门框那儿停了半分钟,水桶晃得厉害) 我也不知道为什么 Backup 目录的 Everyone 权限会让主站崩——按理说,IIS 根本不访问它。我们没改 web.config,没动 applicationHost.config,没重启服务,连 app pool 都没回收。就删了个冗余权限,页面活了。后来查系统日志,在 Security 日志里翻出第八次“4670:权限更改”,时间戳和挂掉前十三秒严丝合缝。但谁改的?没人操作记录。小李说我走后他只动了 cmd 窗口,输入的是 dir /s D:\\Sites\\live,连句号都没敲完。 这事后来在例会上被提了一嘴,技术总监讲得特别慢,说“零越权”必须覆盖所有路径节点,“零宕机”不是靠监控兜底,而是配置本身不能埋任何毛刺。我当时没吭声。现在回头看,优胜劣汰这四个字,真不是修辞——它就刻在那条被误加的 Everyone 权限上,也刻在小李没敲完的那行 dir 命令里。不是你不够细,是服务器认权限比认人认真得多。 不过那天晚上九点我又回去了一趟,开了三个 PowerShell 窗口,分别试:一个删 Backup 权限,一个删 Log 子目录权限,一个删临时解压包权限。只有删 Backup 的时候,首页跟着抖了一下——不是宕机,是加载延迟,像是 IIS 在某个毫秒级的路径校验环节卡住了半拍。但我抓不到 trace。Process Monitor 跑了六分多钟,过滤条件换了四次,最后导出的 .pml 文件里有三百二十一万行,全是 RegQueryValue、CreateFile,没一条指向 Backup 文件夹。我原以为能复现,结果只复现了三次 502 闪烁,然后彻底消停了。再没出现。
文章配图,仅供参考 (工位底下拖线板烧焦味儿淡了,现在闻起来像旧书柜) 有谁碰到过这个吗? (编辑:航空爱好网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |


Windows多媒体站点搭建:权限配置全指南
Windows站点搭建总踩坑?5步权限配置法一次到位
Windows站点搭建常被忽略的3大安全断点