✅ 图形界面(regedit)添加新权限项(访问控制条目)
前提:管理员身份运行 regedit;先导出注册表项备份;部分系统项要先修改所有者,否则添加按钮灰色 目标:给注册表项新增一条权限规则(比如添加 Administrators 组)
-
定位目标注册表项 → 右键 → 权限
-
在弹出权限窗口,点右下角 高级(进入高级安全设置)
-
在【权限条目】区域,点 添加(新建权限规则)
-
点击 选择主体(选择用户 / 用户组)
-
在输入框填写:Administrators
-
点【检查名称】,文字出现下划线代表识别成功 → 确定
-
配置基础权限(最小权限原则,按需勾选)
-
✅ 读取:只查看
-
✅ 设置值、查询值:读写注册表参数(推荐优先这个,不要直接全给完全控制)
-
✅ 完全控制:读、写、删除、修改权限、修改所有者
❗不要勾选拒绝 (Deny),拒绝优先级最高,极易锁死注册表项
-
继承设置(关键)
-
仅当前这一项:不勾选【使用可从此对象继承的权限项目替换所有子对象的权限项目】(推荐,安全)
-
需要整条分支子项一起应用:才勾选(风险很高)
-
点击【确定】→【应用】保存,新权限条目添加完成
补充:如果主体(用户 / 组)已经在列表里,不需要点添加,直接选中主体,修改下方权限勾选即可。
两种入口区别
-
简易权限窗口(权限主界面):点【添加】,快速添加主体并勾选基础权限,适合简单场景
-
高级安全设置里面的【添加】:支持精细化权限、继承设置,推荐使用高级界面
⚡ PowerShell 方式(管理员 PowerShell,批量脚本添加权限项)
# 目标注册表路径
= "Registry::HKEY_LOCAL_MACHINESOFTWARETestKey"
# 获取当前ACL
= Get-Acl
# 新建权限规则:给 Administrators 允许完全控制
= New-Object System.Security.AccessControl.RegistryAccessRule(
"BUILTINAdministrators",
"FullControl",
"ContainerInherit,ObjectInherit",
"None",
"Allow"
)
# 将新权限项加入ACL
.AddAccessRule()
# 写入注册表
Set-Acl -Path -AclObject
参数说明:
-
FullControl:完全控制;可替换为Read/QueryValues,SetValue精细化权限
-
Allow= 允许;严禁随意使用Deny
⚠️ 常见问题
-
添加按钮灰色不可点击 原因:当前账户没有该项的【更改权限】权限;需要先修改所有者,拿到所有权后才能新增权限条目。
-
检查名称找不到 Administrators 拼写错误、多余空格;标准组名:Administrators
-
添加完权限依然拒绝访问 存在旧的 Deny(拒绝)条目,拒绝规则优先级高于允许,需要先删除拒绝条目。
-
勾选替换子对象时报错 部分子项有独立 ACL 保护,无法批量写入;不要勾选递归,逐个处理。
🚨 安全提醒
-
新增权限遵循最小权限原则,非必要不给完全控制。
-
不要添加Everyone完全控制,会造成巨大安全漏洞。
-
调试结束,建议删除新增权限、恢复原始 ACL,所有者改回 TrustedInstaller。
-
SAM、SECURITY 分支严禁修改 ACL,极易系统账户损坏无法登录。
|