AD域权限管理实战:基于AGDLP原则与组策略的精细化访问控制
1. 项目概述从“ZQH”看AD域环境下的权限管理实战最近在整理ADActive Directory域环境的学习笔记时遇到了一个内部代号为“ZQH”的案例。这个代号本身可能没有特殊含义但它背后代表的是一类在大型企业IT运维中非常典型且棘手的场景如何高效、安全地管理域内用户对特定资源如共享文件夹、应用服务器的访问权限。很多朋友在初学AD组策略和权限委派时常常感觉概念清晰但一动手就懵尤其是在面对复杂的组织单元OU结构和嵌套组需求时。“ZQH”这个案例恰恰是解决这类问题的绝佳练兵场。简单来说“ZQH”可以理解为一次针对“特定群组Group- 特定权限Right- 特定主机Host”的精细化权限设计与实施过程。它要解决的核心问题是避免使用域管理员等高权限账户进行日常操作实现权限的最小化分配和职责分离。无论是为了满足合规审计要求还是提升日常运维效率掌握这套方法都至关重要。如果你是一名系统管理员、网络工程师或是对企业IT安全架构感兴趣的学习者那么跟随这个笔记你将能梳理出一条清晰的权限管理实操路径。2. 核心思路与设计基于“角色-访问-资源”模型拆解面对一个模糊的“ZQH”需求首要任务不是直接打开“Active Directory用户和计算机”就开干而是进行逻辑建模。我个人的经验是遵循“角色-访问-资源”三层模型来思考能让你事半功倍。2.1 需求澄清与场景假设首先我们需要为“ZQH”赋予一个具体的业务场景。假设它代表这样一个需求公司“质量检查部”Quality Check Department的员工需要能远程登录到生产区的若干台特定服务器Server01, Server02上进行日志查看和数据采集但他们不应该具有这些服务器的本地管理员权限也不能访问其他无关服务器。从这个假设出发我们可以拆解出核心要素角色Role“质量检查部员工”。这是一个逻辑上的职能集合。访问Access“远程桌面登录”。这是一种具体的操作权限。资源Resource“Server01, Server02”。这是权限作用的目标。AD域服务实现这个需求的最佳实践绝非直接给每个质量检查部用户账户单独授权。那样做会导致管理灾难每来一个新员工你都需要在所有服务器上操作一遍员工离职时又容易遗漏权限回收。正确的做法是利用AD的“组”和“组策略”来实现批量、动态的管理。2.2 设计策略AGDLP原则与OU规划这里必须引入一个黄金法则AGDLP。它是微软推荐的权限分配最佳实践Accounts (用户账户) 放入Global Groups (全局组)全局组加入Domain Local Groups (域本地组)最后对域本地组分配Permissions (权限)。结合我们的“ZQH”场景设计如下创建全局组Global Group在AD中创建一个全局安全组例如命名为G-QualityCheckUsers。将所有质量检查部员工的用户账户加入这个组。全局组的特点是可以跨域信任如果有多域环境使用并且其成员信息在全局目录中便于查询。创建域本地组Domain Local Group在目标服务器所在的域通常是同一个域内创建域本地安全组。这里可以为两台服务器分别创建也可以创建一个通用的。例如创建DL-RDPtoProdServers。域本地组的权限作用范围仅限于创建它的域非常适合用来对域内资源如文件共享、本地登录权限进行授权。应用AGDLP将全局组G-QualityCheckUsers加入到域本地组DL-RDPtoProdServers中。分配权限Permissions在目标服务器Server01, Server02上将域本地组DL-RDPtoProdServers添加到“远程桌面用户”Remote Desktop Users组中。这一步是关键它赋予了该组成员远程登录的权限。为什么这么设计灵活性当有新员工加入质量检查部时你只需将其账户加入G-QualityCheckUsers组该员工会自动获得登录所有相关服务器的权限。权限的调整如增加或减少服务器也只需要修改DL-RDPtoProdServers组的成员关系或目标服务器上的组分配与具体的用户账户解耦。可审计性你可以轻松查看DL-RDPtoProdServers组有哪些权限以及G-QualityCheckUsers组有哪些成员。审计链条非常清晰。符合最小权限用户没有直接被赋予高权限而是通过嵌套组的方式获得了恰好够用的权限远程桌面用户。此外合理的组织单元OU结构是实施的基础。建议将服务器计算机账户移动到一个独立的OU下例如Servers/Production。这样你可以通过组策略对象GPO来统一管理这些服务器的安全策略、防火墙规则等而不是逐台配置。3. 关键技术与工具详解ADUC、GPMC与PowerShell有了清晰的设计图接下来就需要合适的工具来施工。主要涉及以下三个工具各有其用武之地。3.1 Active Directory 用户和计算机 (ADUC)这是最常用的图形化管理工具。我们之前提到的创建组全局组、域本地组、将用户加入组、将计算机放入特定OU这些操作都在这里完成。实操要点创建组右键点击目标OU如Users或专门为组创建的Security GroupsOU选择“新建”-“组”。注意选择正确的“组作用域”全局、域本地和“组类型”安全组。区分组作用域务必理解“全局组”和“域本地组”的区别。简单类比全局组像“员工花名册”方便携带和查询域本地组像“门禁卡权限列表”只在本大楼本域内有效。通用组Universal Group在多域环境下有用但会带来全局编录复制流量单域环境一般不用。嵌套组在域的属性中找到“成员”选项卡通过“添加”按钮将全局组加入到域本地组。这是实现AGDLP的关键一步。3.2 组策略管理控制台 (GPMC)这是管理组策略的权威工具。对于“ZQH”场景我们可能需要通过GPO来统一配置目标服务器的“允许通过远程桌面服务登录”权限或者配置防火墙允许RDP端口默认3389。核心配置路径创建并链接GPO在GPMC中为存放服务器的OU如Servers/Production创建一个新的GPO例如命名为“Prod Servers - RDP Settings”。配置安全设置编辑这个GPO导航到计算机配置-策略-Windows 设置-安全设置-本地策略-用户权限分配。分配登录权限找到“允许通过远程桌面服务登录”这一项。双击打开勾选“定义这些策略设置”然后点击“添加用户或组”。这里你可以直接输入我们之前创建的域本地组DL-RDPtoProdServers。配置防火墙可选但推荐在计算机配置-策略-Windows 设置-安全设置-高级安全 Windows 防火墙-入站规则中可以确保“远程桌面(TCP-In)”规则是启用的。更稳妥的做法是创建一个新的入站规则明确允许来自特定安全组或IP范围的RDP连接。注意通过GPO分配的“用户权限分配”策略会在目标计算机服务器下次组策略刷新默认90分钟随机偏移或手动执行gpupdate /force后生效。它修改的是计算机的本地安全策略比手动在每台服务器上添加用户到“Remote Desktop Users”组更集中、更规范。3.3 Windows PowerShell for AD对于需要批量操作、自动化或生成报告的场景PowerShell是无可替代的神器。它的效率远高于图形界面点击。常用命令示例创建组New-ADGroup -Name G-QualityCheckUsers -GroupScope Global -GroupCategory Security -Path OUSecurity Groups,DCcontoso,DCcom New-ADGroup -Name DL-RDPtoProdServers -GroupScope DomainLocal -GroupCategory Security -Path OUSecurity Groups,DCcontoso,DCcom将用户加入组Add-ADGroupMember -Identity G-QualityCheckUsers -Members zhangsan, lisi # 或者从CSV文件批量导入 Import-Csv .\users.csv | ForEach-Object { Add-ADGroupMember -Identity G-QualityCheckUsers -Members $_.SamAccountName }将全局组加入域本地组Add-ADGroupMember -Identity DL-RDPtoProdServers -Members G-QualityCheckUsers查询组成员Get-ADGroupMember -Identity DL-RDPtoProdServers -Recursive | Select-Object Name-Recursive参数非常关键它能递归列出所有嵌套组内的最终用户让你一目了然地知道谁真正拥有这个权限。PowerShell心得初次使用可能需要记忆一些命令和参数但一旦掌握处理成百上千的用户和组时你会感谢自己学会了它。务必先在测试环境中练习并使用-WhatIf参数预览命令执行效果。4. 完整实施流程与配置记录让我们将上述设计和工具串联起来形成“ZQH”案例的标准化部署流程。这个过程我习惯称之为“从零到一部署一个安全访问单元”。4.1 第一阶段AD架构准备在域控制器上操作规划与创建OU结构如果尚未建立打开ADUC在域名下创建逻辑清晰的OU。例如Company(顶层)Users(存放用户账户)Groups(存放安全组)GlobalGroups(存放全局组)DomainLocalGroups(存放域本地组)Computers(存放计算机账户)ServersProductionDevelopmentWorkstations将现有的服务器计算机账户Server01, Server02从默认的Computers容器拖拽到Computers/Servers/ProductionOU中。实施AGDLP组策略在Groups/GlobalGroupsOU中创建全局安全组G-QualityCheckUsers。在Groups/DomainLocalGroupsOU中创建域本地安全组DL-RDPtoProdServers。将相关用户账户如zhangsan, lisi添加到G-QualityCheckUsers组。将全局组G-QualityCheckUsers添加到域本地组DL-RDPtoProdServers中。4.2 第二阶段组策略配置在域控制器上使用GPMC创建并链接GPO打开GPMC展开到你的域找到Computers/Servers/ProductionOU。右键点击该OU选择“在这个域中创建GPO并在此处链接”。命名为“Prod Servers - RDP and Security Settings”。配置用户权限右键编辑新建的GPO。导航至计算机配置/策略/Windows 设置/安全设置/本地策略/用户权限分配。双击“允许通过远程桌面服务登录”。勾选“定义这些策略设置”点击“添加用户或组”。输入CONTOSO\DL-RDPtoProdServers请将CONTOSO替换为你的域名检查名称后确定。可选强化安全配置在同一GPO的“安全选项”下可以考虑配置“交互式登录不显示最后的用户名”以增加安全性。在“高级安全Windows防火墙”中确认入站规则“远程桌面 - 用户模式(TCP-In)”已启用或者创建更精确的规则。4.3 第三阶段客户端生效验证在目标服务器上操作强制更新组策略在Server01或Server02上以管理员身份打开命令提示符或PowerShell。执行命令gpupdate /force并重启服务器。某些安全策略如用户权限分配需要重启才能完全生效。验证本地组权限服务器重启后打开“计算机管理” - “系统工具” - “本地用户和组” - “组”。查看“Remote Desktop Users”组的成员。你应该能看到CONTOSO\DL-RDPtoProdServers这个组已经被自动添加进来。注意你不会看到嵌套的G-QualityCheckUsers组或具体的用户这是正常的系统在验证权限时会进行递归解析。功能测试找一台非管理员的客户端电脑使用质量检查部员工如zhangsan的域账户尝试远程桌面连接Server01。如果连接成功说明整个“ZQH”权限流已经打通。如果失败则需要进入排查环节。5. 深度排查与常见问题实录即使设计再完美实操中也难免遇到问题。下面是我在多次实施类似“ZQH”方案中踩过的坑和总结的排查清单希望能帮你快速定位问题。5.1 问题一用户无法远程桌面连接提示“拒绝访问”这是最常见的问题。请按照以下顺序排查检查网络与基础服务确保客户端能Ping通服务器主机名和IP。确保服务器远程桌面服务已开启services.msc中的Remote Desktop Services。确保服务器防火墙3389端口对客户端IP或网段开放。最快速的测试方法是临时关闭服务器防火墙仅用于测试完成后务必开启如果关闭后能连接问题就在防火墙规则上。检查组策略应用状态在出问题的服务器上以管理员身份运行gpresult /h gp_report.html生成组策略报告。打开报告查看“应用的组策略对象”列表中是否包含你创建的“Prod Servers - RDP and Security Settings” GPO。在报告的“计算机设置详细信息”中搜索“允许通过远程桌面服务登录”查看是否成功应用了包含DL-RDPtoProdServers组的策略。常见坑点GPO链接到了错误的OUGPO被更高层级的OU策略覆盖或禁用了GPO的安全筛选限制了应用范围默认是“经过身份验证的用户”。检查AD组嵌套与成员关系在域控制器上使用PowerShell命令Get-ADGroupMember -Identity DL-RDPtoProdServers -Recursive进行终极验证。这个命令会递归列出所有有权限的用户。确认测试用户的账户名出现在结果中。如果没有请逐级检查用户是否在G-QualityCheckUsers中G-QualityCheckUsers是否在DL-RDPtoProdServers中注意账户状态确保用户账户未禁用、密码未过期。检查服务器本地“Remote Desktop Users”组即使GPO应用成功也建议直接登录服务器查看。执行net localgroup Remote Desktop Users命令。理想情况下你应该只看到CONTOSO\DL-RDPtoProdServers而不应该有其他无关的域组或用户。如果手动添加过其他条目可能会引起冲突。5.2 问题二组策略更新缓慢或不生效手动强制刷新与重启记住gpupdate /force主要更新“计算机配置”。对于“用户权限分配”这类策略计算机重启是确保生效的最可靠方式。用户权限是在系统启动时加载的。检查域控制器复制如果有多台域控制器确保组策略的创建和修改已在所有域控制器间同步。可以在GPMC中右键点击域选择“立即同步整个域”。检查网络连接与DNS客户端必须能正确解析域控制器的SRV记录才能找到它并下载策略。确保客户端的DNS服务器指向正确的域控制器。5.3 问题三权限过度或审计困难定期审查组成员关系使用PowerShell脚本定期导出关键安全组如DL-RDPtoProdServers的递归成员列表与人事部门提供的在职名单进行比对清理已离职或转岗人员的权限。启用详细日志记录在服务器的“本地安全策略”-“审核策略”中启用“审核登录事件”成功和失败。这样可以在Windows事件查看器的“安全”日志中看到详细的远程桌面登录成功/失败记录包括登录账户和源IP地址便于事后审计和故障排查。避免直接授权始终坚持AGDLP原则杜绝因为“图省事”而直接将用户账户添加到服务器本地组或直接赋予权限。一次省事会给后续的管理和审计带来无穷麻烦。6. 进阶思考与扩展场景“ZQH”案例虽然聚焦于远程桌面权限但其背后的AGDLP和组策略管理思想可以扩展到AD域管理的方方面面。6.1 扩展到文件服务器权限管理对于共享文件夹File Server的访问控制同样适用。例如市场部需要访问\\fileserver\Marketing共享。创建全局组G-MarketingUsers加入市场部员工。在文件服务器上创建域本地组DL-FileServerMarketingRW。将G-MarketingUsers加入DL-FileServerMarketingRW。在\\fileserver\Marketing文件夹的安全权限中赋予DL-FileServerMarketingRW组“修改”或“读取/写入”权限。 这样做权限管理集中在AD组与文件服务器上的ACL解耦清晰且易于维护。6.2 结合“受限制的组”策略进行更严格的控制有时我们不仅要赋予权限还要清理服务器上不必要的本地组成员。例如严格禁止本地“Administrators”组中出现任何域用户除特定管理组外。可以在GPO的计算机配置/策略/Windows 设置/安全设置/受限制的组中配置“Administrators”组。将其成员严格定义为CONTOSO\Domain Admins和CONTOSO\Server Admins一个你自定义的域管理组。应用此策略后GPO会强制将服务器本地Administrators组的成员设置为策略中定义的列表任何其他手动添加的账户都会被移除。这是一个非常强大的安全加固手段但使用需极其谨慎避免把自己锁在门外。6.3 自动化与报告对于大型环境手动操作是不可持续的。可以编写PowerShell脚本实现自动化用户入职/离职流程新员工入职时脚本根据其部门自动将其加入对应的全局组离职时自动从所有相关组中移除。权限审计报告定期运行脚本扫描所有关键服务器本地管理员组、远程桌面用户组的成员并与AD中的设计进行比对生成差异报告。GPO合规检查检查所有服务器的关键安全策略如密码策略、审核策略是否符合基线要求。实施“ZQH”这类精细化权限管理初期设计可能会多花一些时间但这是一次投入、长期受益的工作。它奠定了企业IT运维安全、规范的基石。当审计人员来检查时当需要快速为某个新项目开通权限时当排查安全事件时一个清晰、基于组的权限体系会让你从容不迫。记住好的系统管理是让一切变得可预测、可追溯、可自动化。从这个小案例开始逐步构建和完善你的AD权限模型你会发现管理上千台设备和管理几十台设备在逻辑复杂度上并没有本质区别。

相关新闻

Flutter+OpenHarmony开发声音逆向思维训练应用实践

Flutter+OpenHarmony开发声音逆向思维训练应用实践

1. 项目背景与核心价值去年在给某教育机构做技术咨询时,他们提出一个特殊需求:需要一款能通过声音交互训练逆向思维能力的移动应用。当时我第一时间想到的就是FlutterOpenHarmony这个技术组合。这个方案不仅能实现跨平台部署,还能充分利用Ope…

2026/10/5 3:46:31 阅读更多 →
终极iOS开发效率工具:HYBMasonryAutoCellHeight让动态Cell高度计算从未如此简单

终极iOS开发效率工具:HYBMasonryAutoCellHeight让动态Cell高度计算从未如此简单

终极iOS开发效率工具:HYBMasonryAutoCellHeight让动态Cell高度计算从未如此简单 【免费下载链接】HYBMasonryAutoCellHeight A very helpful category for calculating the height of cell automatically. 项目地址: https://gitcode.com/gh_mirrors/hy/HYBMasonr…

2026/10/7 17:18:21 阅读更多 →
发现植物大战僵尸的隐藏玩法:PVZTools修改器完全指南 [特殊字符][特殊字符]‍♂️

发现植物大战僵尸的隐藏玩法:PVZTools修改器完全指南 [特殊字符][特殊字符]‍♂️

发现植物大战僵尸的隐藏玩法:PVZTools修改器完全指南 🌱🧟‍♂️ 【免费下载链接】pvztools 植物大战僵尸原版 1.0.0.1051 修改器 项目地址: https://gitcode.com/gh_mirrors/pv/pvztools 你是否想过在植物大战僵尸中创造属于自己的游…

2026/10/16 14:11:38 阅读更多 →

最新新闻

InvokeAI 部署避坑指南:本地安装与 Docker 三个问题选对方案

InvokeAI 部署避坑指南:本地安装与 Docker 三个问题选对方案

InvokeAI 部署避坑指南:本地安装与 Docker 三个问题选对方案 【免费下载链接】InvokeAI Invoke is a leading creative engine for Stable Diffusion models, empowering professionals, artists, and enthusiasts to generate and create visual media using the l…

2026/10/16 14:18:23 阅读更多 →
如何获取BIRD-Interact数据集:Lite 270任务、Full 600任务与Mini-Interact下载完整指南

如何获取BIRD-Interact数据集:Lite 270任务、Full 600任务与Mini-Interact下载完整指南

【免费下载链接】BIRD-Interact [ICLR 2026 Oral] BIRD-INTERACT: Re-imagines Text-to-SQL evaluation via lens of dynamic interactions. 项目地址: https://gitcode.com/gh_mirrors/bi/BIRD-Interact 点击查看 免费下载 BIRD-Interact 是 ICLR 2026 Oral 论文提…

2026/10/16 14:18:23 阅读更多 →
无锁栈:Treiber 栈的 CAS、ABA 问题与 tagged pointer

无锁栈:Treiber 栈的 CAS、ABA 问题与 tagged pointer

无锁栈(lock-free stack,通常指 Treiber stack)是理解无锁编程的第一课:它只用一条 compare_exchange 循环就把 push 和 pop 写完了,全程没有一把锁。但「没有锁」不代表「没有坑」。最著名的 ABA 问题就藏在这里&…

2026/10/16 14:18:23 阅读更多 →
类型列表与编译期算法:手写 typelist 的 map/filter

类型列表与编译期算法:手写 typelist 的 map/filter

写模板代码时常有这样的需求:手里有一组类型 int, double, char, long,想「给每个类型生成一个成员变量」「把每个类型变成它的指针」「只留下整型」…… 这些运算发生在编译期,操作对象是「类型」而不是「值」。C 里表示「一组类型」的惯用法…

2026/10/16 14:18:23 阅读更多 →
同一个项目,算法岗和工程岗的简历该怎么分别写

同一个项目,算法岗和工程岗的简历该怎么分别写

做推荐、做风控、做 NLP 的人,投岗位时经常两边都投:算法岗和工程岗。很多人用同一份简历,结果两边都不占优。 同一个项目,两种写法的侧重完全不同。 假设这是同一件事 你在一个推荐系统里,做了召回链路的改造&#xf…

2026/10/16 14:18:23 阅读更多 →
DeepSeek医疗本地化部署:医院内网AI训练全栈实践指南

DeepSeek医疗本地化部署:医院内网AI训练全栈实践指南

简介:本资源是一份面向医疗AI工程师与医院信息科技术人员的DeepSeek大模型本地化部署实战指南,聚焦医疗数据私有化训练场景,解决敏感病历数据合规处理、本地算力适配与垂直领域模型微调等核心问题。文档以PDF格式交付,共1个文件&a…

2026/10/16 14:17:21 阅读更多 →

日新闻

个人 AI Agent 平台接入 TaoToken:统一 Key 与 API 通道的配置大纲

个人 AI Agent 平台接入 TaoToken:统一 Key 与 API 通道的配置大纲

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 0:00:05 阅读更多 →
信号与系统频域分析作业解题指南

信号与系统频域分析作业解题指南

1. 作业背景与核心要求解析信号与系统作为电子信息类专业的核心基础课,其作业设计往往直接关联课程的核心知识框架。2026年春季第六次作业的布置,通常对应着课程进展到频域分析的关键阶段。根据常规教学进度推测,本次作业可能涉及以下核心内容…

2026/10/16 0:00:05 阅读更多 →
Django MVT实战:从零构建图书借阅系统,彻底搞懂Model-View-Template分层

Django MVT实战:从零构建图书借阅系统,彻底搞懂Model-View-Template分层

1. 从一个"四不像"的练手项目说起如果你已经看完了Django的官方教程前几章,跟着敲完了投票应用,大概会有一种"我好像会了,又好像什么都不会"的割裂感。教程里每个知识点都是拆开的——这一章讲模型,下一章讲视…

2026/10/16 0:00:05 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/15 16:18:54 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/15 19:41:51 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/15 13:48:15 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 0:14:36 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/16 3:49:43 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/15 9:49:14 阅读更多 →