无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 10386|回复: 10
打印 上一主题 下一主题

如何通过批处理给注册表中的项”权限”添加用户

[复制链接]
跳转到指定楼层
1#
发表于 2010-4-20 10:35:40 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式


   很多项没有任何用户,IE等系统功能不能正常使用!只要批处理给这些项添加用户并赋予“完全控制”,就可以修复系统!

regini regini.ini 好想没有任何用!

regini的内容:
HKCR\CLSID\{871C5380-42A0-1069-A2EA-08002B30309D} [1]

[ 本帖最后由 zzcn2008 于 2010-4-20 10:39 编辑 ]
2#
发表于 2010-4-20 11:15:16 | 只看该作者
setacl这个试一试
回复

使用道具 举报

3#
发表于 2010-4-20 13:22:09 | 只看该作者
好像系统有自带一个什么acl命令
回复

使用道具 举报

4#
 楼主| 发表于 2010-4-20 15:32:40 | 只看该作者
原帖由 freesoft00 于 2010-4-20 11:15 发表
setacl这个试一试

不会用啊,网上找了很多使用说明,最后都没有成功!
另有种说法,setacl仅对HKCR不管用!
回复

使用道具 举报

5#
发表于 2010-4-20 18:45:47 | 只看该作者


SetACL 作者:赫尔格·克莱因

主页:
http://setacl.sourceforge.net
版本:2.0.3.0
版权:赫尔格·克莱因
许可:GPL(GNU通用公共许可证)
翻译:wxcute AT BBS.bathome.net

SetACL -选项 "选项参数"
    选项后必跟选项参数,可有多个选项。除显示帮助信息外最少三个选项。

SetACL -on "<对象名字>" -ot <对象类型>
    -actn <操作方法1>
    操作1 "操作1参数" [操作2 "操作2参数" ……]      //对应于操作方法1的操作及参数
    [-actn <操作方法2>]
    [操作1 "操作1参数" 操作2 "操作2参数" ……]      //对应于操作方法2的动作及参数
    [……]

-help   显示本帮助

──选项──────────────────────────

-on  对象名

-ot  对象类型

-actn 操作种类的名字

────────────
选项-actn的下属子选项:

-ace "n:Trustee;p:Permission;s:IsSID;i:Inheritance;m:Mode;w:Where"
   “n:操作对象;p:权限;s:标志符;i:继承;m:模式;w:权限应用位置”
   权限设置,操作种类名ace。

-trst "n1:Trustee;n2:Trustee;s1:IsSID;s2:IsSID;ta:TrusteeAction;w:Where"
   “n1:操作对象一/源对象;n2:操作对象二/目标对象;s1:标志符;s2:标志符;ta:对对象执行的操作;w:权限应用到哪”
   操作对象(域/用户组/用户名)权限复制,操作种类名trustee。

-dom "n1:Domain;n2:Domain;da:DomainAction;w:Where"
   “n1:域一;n2:域二;da:对域的动作;w:权限应用位置”
   操作域的权限复制,操作种类名domain。

-ownr "n:Trustee;s:IsSID"
   “n:操作对象;s:标志符”
   指定用户权限变更,操作种类名setowner。

-grp "n:Trustee;s:IsSID"
   “n:操作对象;s:标志符”
   指定组权限变更,操作种类名setgroup。
────────────

-rec Recursion
   循环,处理对象的种类

-op  "dacl:Protection;sacl:Protection"
   “dacl:保护;sacl:保护”

-rst Where
   位置

-lst "f:Format;w:What;i:ListInherited;s:DisplaySID"
   “f:格式;w:什么(即内容);i:继承列表;s:显示标志”

-bckp Filename
   文件名,备份文件

-log Filename
   文件名,保存输出信息到记录文件

-fltr Keyword
   关键词/键值,过滤带关键词的内容

-clr Where
   哪里/位置,清除权限

-silent
   (静默参数)静默执行,无结果显示。

-ignoreerr
   (忽略错误)忽略执行过程中的错误

──参数说明────────────────────────

对象名:    要处理的对象(如:“C:\MYDIR”)(目录名/文件名/注册表项/服务名/打印机名/共享名)

对象类型:   对象的类型

        file:      目录/文件

        reg:      注册表项

        srv:      服务

        prn:      打印机

        shr:      网络共享

动作:     执行的动作/改变:

◎ACL:访问控制列表

        ace:    执行“-ace”所跟参数的动作

        trustee:  执行“-trst”后所指定的参数

        domain:   执行“-dom”后所指定的参数


        list:    使用“-lst”参数列出权限。后跟“-bckp”可备份权限改变前的文件。

        restore:  用列表程序保存全部安全设置。清单使用 SDDL(模式数据描述语言)格式。

        setowner:  设定权限拥有者。

        setgroup:  设置组

        clear:   清空所有继承的访问控制列表。参数“-clr”可控制 DACL、SACL 或两者同时。

        setprot:  (setParentOption)
              设定一个标志。允许权限从父对象继承下来。

        rstchldrn: (resetChildren)
              重置子对象继承而来的权限。参数“-rst”可控制 DACL、SACL 或两者同时。

用户动作:   对用户指定的操作

        remtrst:  (removeTrustee)
              删除指定用户的所有权限。
        repltrst:  (replaceTrustee)
              将“n1”换成“n2”。
        cpytrst:  (copyTrustee)
              复制许可权限“n1”到“n2”。

域动作:    指定域的动作

        remdom:   (removeDomain)
              删除指定域的所有权限。
        repldom:  (replaceDomain)
              将域“n1”换成“n2”。
        cpydom:   (copyDomain)
              复制域许可权限“n1”到“n2”。

SID 安全标识符(Security Identifiers):     用户或组的名字或 SID。格式如下:

      A、[(computer | domain)\]name
        [ 计算机 | 域 ]名

        Where:   (位置)

        computer:  (电脑)
              计算机的 DNS 或 NetBIOS 名。必须是该指定计算机上的本地用户。
        domain:   (域)
              域的 DNS 或 NetBIOS 名。必须是域用户或组。
        name:    (名)
              用户或组

        若未指定计算机或域名,SetACL 会从以下顺序试着找出 SID 当名。

        1. 内置用户与常用 SID
        2. 本地用户
        3. 主域
        4. 信任域

      B、SID 字串

Domain:     域名(NetBIOS 或 DNS)

Permission:   设置允许。基于对象类型的许可权限。用逗号作为列表分隔符。
 
        例如:  'read,write_ea,write_dacl'
             “读取、写入和运行、更改特殊权限”

IsSID:     被操作对象是否是 SID 名?

        y:   是
        n:   否

DisplaySID:   是否显示 SID?

        y:   是
        n:   否
        b:   两者都(名字和 SID)

Inheritance:  ACE 的继承标志。列表选项如下,可用逗号分隔列表:

        so:    子对象
        sc:    子容器
        np:    不向下继承
        io:    只继承

        例子:  'io,so'
        

Mode:      存取 ACE 模式:

      A、DACL(标准权限):

        set:    替换所有许可权限。

        grant:   在现有权限基础下添加指定权限。
        (授予)
        deny:    取消指定权限。
        (取消)
        revoke:   从现有权限中取消指定权限。
        (撤回)

      B、SACL(特殊权限):

        aud_succ:  添加并检查成功的 ACE。

        aud_fail:  添加并检查失败的 ACE。

        revoke:   从现有权限中取消指定权限。

Where:     权限应用的位置,DACL、SACL 或两者(逗号分隔列表):

        dacl
        sacl
        dacl,sacl

Recursion:   循环设置,基于对象类型:

      A、文件
        
        no:    无循环/递归。
        cont:   只循环处理目录。
        obj:   只循环处理文件。
        cont_obj: 处理目录和文件。

      B、注册表:

        no:    不循环。
        yes:   循环。

Protection:   控制标志:允许权限从父对象继承下来。

        nc:    不更改当前设定。
        np:    对象不受保护,即从父对象继承下来的。
        p_c:   对象受保护,ACE 从父对象复制下来。
        p_nc:   对象受保护,不从父对象复制 ACE。

Format:     使用的列表格式:

        sddl:   标准 SDDL 格式。只有这种清单格式才能保存。
        csv:   SetACL 独有的 csv 格式。
        tab:   SetACL 独有的制表格式。

What:      安全描述列表的组成部件(逗号分隔):

        d:    DACL     (标准权限)
        s:    SACL     (特殊权限)
        o:    Owner     (所有者)
        g:    Primary group (组)

        例如:  'd,s'
               

ListInherited: 是否显示继承权限?

        y:    是
        n:    否

Filename:    文件名,用于列表/备份/储存操作或记录的文件。

Keyword:    过滤对象名。包含未处理的项。

──标记/备注/摘要─────────────────────

必需的参数(其他为可选参数):

        -on    对象名
        -ot    对象类别

指定参数可能不止使用一次:

        -actn    动作
        -ace    存取控制入口
        -trst    授予人/操作对象
        -dom    域
        -fltr    过滤项

只有参数“-actn”指定动作才会生效,无论其他选项如何设置。

多重操作的顺序如下:

        1.  restore
            储存
        2.  clear
            清空
        3.  trustee
            授权
        4.  domain
            域
        5.  ace, setowner, setgroup, setprot
            存取控制入口,设置拥有者,设置组,设置父对象
        6.  rstchldrn
            重置子对象
        7.  list
            列表

──有效权限────────────────────────

A、标准权限设置(指定权限的关联)(与属性>安全标签中的权限相对应)

  文件/目录:

        read:     读取
        write:    写入
        list_folder: 列出目录
        read_ex:   读取和运行
        change:    修改
        profile:   = change + write_dacl
               等于修改与更改特殊权限(特别的权限)
        full:     完全控制

  打印机/共享打印机:

        print:    打印
        man_printer: 管理打印机
        man_docs:  管理文档
        full:    全部权限

  注册表:

        read:    读取
        full:    所有权限

  服务:

        read:    读取
        start_stop: 启用/停止
        full:    所有权限

  共享(目录/共享/共享权限):

        read:    读取
        change:   更改
        full:    完全控制

B、特殊权限(与属性>安全标签中高级里的权限相对应)


  文件/目录:

        traverse:   遍历目录/运行文件
        list_dir:   列表目录/读取数据
        read_attr:   读取属性
        read_ea:    读取扩展属性
        add_file:   创建文件/写入数据
        add_subdir:  创建目录/附加数据
        write_attr:  写入属性
        write_ea:   写入扩展属性
        del_child:   删除子目录和文件
        delete:    删除
        read_dacl:   读取特殊权限
        write_dacl:  写入特殊权限
        write_owner:  取得所有权

  注册表(与权限>安全标签中高级里的权限相对应)

        query_val:   查询数值
        set_val:    设定数值
        create_subkey: 创建子项
        enum_subkeys: 枚举子项
        notify:    通知
        create_link:  创建链接
        delete:    删除
        write_dacl:  写入特殊权限
        write_owner:  取得所有权
        read_access:  读取控制

───结束─────────────────────────
回复

使用道具 举报

6#
 楼主| 发表于 2010-4-21 12:41:18 | 只看该作者
原帖由 freesoft00 于 2010-4-20 18:45 发表


SetACL 作者:赫尔格·克莱因

主页:http://setacl.sourceforge.net
版本:2.0.3.0
版权:赫尔格·克莱因
许可:GPL(GNU通用公共许可证)
翻译:wxcute AT BBS.bathome.net

SetACL -选项 "选项 ...


几天前在bathome.net看过了!好像不行!提示执行成功了,却没有添加进去!
回复

使用道具 举报

7#
发表于 2010-4-21 22:29:24 | 只看该作者
用 SetACL 试过,发下你的批处理看看
回复

使用道具 举报

8#
 楼主| 发表于 2010-4-30 12:32:13 | 只看该作者

回复 #7 freesoft00 的帖子

找到问题的在那了!  regini、setacl仅可以对MACHINE USER两个键进行操作,无法对CLASSES_ROOT键下的项进行权限修改!
    另外如果注册表某个项没有任何权限的话,setacl也无法修改权限,此时可以先用regini添加administractor或者EVERYONE等,然后再用SETACL就可以随意修改该项的权限了!
    对于regini、setacl为何仅可以修改MACHINE USER两个键?希望知道的朋友给解释一下。同时对于正在受注册表权限困惑的人希望该帖能够解除您的困惑!

点评

再补充一下 regini 确实只能修改HKCU和HKLM两个键 其实HKCR是HKEY_LOCAL_MACHINE\SOFTWARE\Classes的映射。 比如楼主想实现 HKCR\CLSID\{871C5380-42A0-1069-A2EA-08002B30309D} [1] 则把regini.ini内存保存为  详情 回复 发表于 2013-8-27 22:26
回复

使用道具 举报

9#
发表于 2010-5-1 21:35:35 | 只看该作者
CLASSES_ROOT可以的吧,什么红叶的批处理中调用setacl锁定文件关联里面就是在CLASSES_ROOT的项下
回复

使用道具 举报

10#
发表于 2010-5-20 15:00:19 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

11#
发表于 2013-8-27 22:26:42 | 只看该作者
zzcn2008 发表于 2010-4-30 12:32
找到问题的在那了!  regini、setacl仅可以对MACHINE USER两个键进行操作,无法对CLASSES_ROOT键下的项进行 ...

再补充一下
regini 确实只能修改HKCUHKLM两个键
其实HKCRHKEY_LOCAL_MACHINE\SOFTWARE\Classes的映射。
比如楼主想实现
HKCR\CLSID\{871C5380-42A0-1069-A2EA-08002B30309D} [1]
则把regini.ini内存保存为
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{871C5380-42A0-1069-A2EA-08002B30309D} [1]
即可。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-4-26 08:47

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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