SetACL.exe是第三方工具,可以用来修改文件系统权限和注册表权限。
    官网:https://helgeklein.com/setacl/documentation/command-line-version-setacl-exe/
    百度文库部分翻译:https://wenku.baidu.com/view/6335c7c258f5f61fb73666e1.html


    百度翻译
    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:  读取控制
    ───结束─────────────────────────