找回密码
 加入
搜索
查看: 3042|回复: 2

_RegSetKeySecurityDacl 设置注册表权限无法继承到子项?

[复制链接]
发表于 2010-1-24 19:58:50 | 显示全部楼层 |阅读模式
本帖最后由 landays 于 2010-1-24 20:17 编辑

设置HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Run的权限的确成功了
但该项目下的子项却并没有随之更改?
#cs = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = 
; HKEY_CLASSES_ROOT - 0x80000000
; HKEY_CURRENT_USER - 0x80000001
; HKEY_LOCAL_MACHINE - 0x80000002
; HKEY_USERS - 0x80000003
; $aDacl = 只允许Administrators、System、Creator Owner三个用户的全部访问请求,其他用户的任意访问请求都将被拒绝。
; 0xF003F = 所有访问,0x20019 = 读取操作。
; 3 - 权限继承到子键。
; SET_ACCESS = 访问类型为“允许”,DENY_ACCESS = 访问类型为“拒绝”
#ce = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = 
#include <LocalSecurityAuthority.au3>
Local $aDacl[4][4] = [["BUILTIN\Administrators", 0x20019, $SET_ACCESS, 3], _
                ["NT AUTHORITY\System", 0x20019, $SET_ACCESS, 3], _
                ["CREATOR OWNER", 0x20019, $SET_ACCESS, 3], _
                                ["everyone", 0x20019, $SET_ACCESS, 3]]
$fResult = _RegSetKeySecurityDacl(0x80000002, "SOFTWARE\Microsoft\Windows\CurrentVersion\Run", $aDacl)
Msgbox(0, $fResult, @error)

评分

参与人数 1金钱 +10 收起 理由
pusofalse + 10 感谢主动修改帖子分类为[已解决]。

查看全部评分

发表于 2010-1-24 20:11:03 | 显示全部楼层
之后在run下创建的子键会继承run的权限,之前已有的键不会继承。你可以写代码循环递归到子键,重复设置。
或者调用TreeResetNamedSecurityInfo函数,LocalSecurityAuthority.au3中没有这个函数,因为这个函数只在2000之后的系统中才有,虽然我一直在用XP的系统。
相关参考:http://msdn.microsoft.com/en-us/library/aa379635(VS.85).aspx
 楼主| 发表于 2010-1-24 20:16:34 | 显示全部楼层
明白了,多谢楼上的
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-9-21 17:56 , Processed in 0.071014 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表