Board logo

标题: [其他] 【有奖翻译】T004:命令行工具SetACL.exe2.0.3.0(权限控制) [打印本页]

作者: Batcher    时间: 2009-3-10 16:06     标题: 【有奖翻译】T004:命令行工具SetACL.exe2.0.3.0(权限控制)

【活动说明】http://bbs.bathome.net/thread-2991-1-1.html

【官方网站】http://setacl.sourceforge.net/

【官方下载】http://sourceforge.net/project/showfiles.php?group_id=69165

【本地下载】http://bcn.bathome.net/s/tool/index.html?key=SetACL

【任务内容】
  1. SetACL is a set of routines for managing Windows permissions (ACLs) from the command line, from scripts and from programs. These routines can be used from various container or interface programs. Currently there exist a command line version to be used in batch files or scripts and an ActiveX control (SetACL.ocx) which can be used from any COM-enabled language (VB, WSH scripts, ...).
  2. SetACL 2.x is loosely based on my first SetACL program 0.x which I started develping in march 2001 and improved continually. After some time I realised that the design and implementation of that old version were not up to the many new features and impromvements I had in mind. So, in late december 2002, I started from scratch, using a much more flexible design approach, which resulted in the completely rewritten SetACL 2.
复制代码
  1. SetACL by Helge Klein
  2. Homepage:        http://setacl.sourceforge.net
  3. Version:         2.0.3.0
  4. Copyright:       Helge Klein
  5. License:         GPL
  6. -O-P-T-I-O-N-S--------------------------------------------------------
  7. -on    ObjectName
  8. -ot    ObjectType
  9. -actn  Action
  10. -ace   "n:Trustee;p:Permission;s:IsSID;i:Inheritance;m:Mode;w:Where"
  11. -trst  "n1:Trustee;n2:Trustee;s1:IsSID;s2:IsSID;ta:TrusteeAction;w:Where"
  12. -dom   "n1:Domain;n2:Domain;da:DomainAction;w:Where"
  13. -ownr  "n:Trustee;s:IsSID"
  14. -grp   "n:Trustee;s:IsSID"
  15. -rec   Recursion
  16. -op    "dacl:Protection;sacl:Protection"
  17. -rst   Where
  18. -lst   "f:Format;w:What;i:ListInherited;s:DisplaySID"
  19. -bckp  Filename
  20. -log   Filename
  21. -fltr  Keyword
  22. -clr   Where
  23. -silent
  24. -ignoreerr
  25. -P-A-R-A-M-E-T-E-R-S-------------------------------------------------
  26. ObjectName:      Name of the object to process (e.g. 'c:\mydir')
  27. ObjectType:      Type of object:
  28.                  file:       Directory/file
  29.                  reg:        Registry key
  30.                  srv:        Service
  31.                  prn:        Printer
  32.                  shr:        Network share
  33. Action:          Action(s) to perform:
  34.                  ace:        Process ACEs specified by parameter(s) '-ace'
  35.                  trustee:    Process trustee(s) specified by parameter(s)
  36.                              '-trst'.
  37.                  domain:     Process domain(s) specified by parameter(s)
  38.                              '-dom'.
  39.                  list:       List permissions. A backup file can be
  40.                              specified by parameter '-bckp'. Controlled by
  41.                              parameter '-lst'.
  42.                  restore:    Restore entire security descriptors backed up
  43.                              using the list function. A file containing the
  44.                              backup has to be specified using the parameter
  45.                              '-bckp'. The listing has to be in SDDL format.
  46.                  setowner:   Set the owner to trustee specified by parameter
  47.                              '-ownr'.
  48.                  setgroup:   Set the primary group to trustee specified by
  49.                              parameter '-grp'.
  50.                  clear:      Clear the ACL of any non-inherited ACEs. The
  51.                              parameter '-clr' controls whether to do this for
  52.                              the DACL, the SACL, or both.
  53.                  setprot:    Set the flag 'allow inheritable permissions from
  54.                              the parent object to propagate to this object' to
  55.                              the value specified by parameter '-op'.
  56.                  rstchldrn:  Reset permissions on all sub-objects and enable
  57.                              propagation of inherited permissions. The
  58.                              parameter '-rst' controls whether to do this for
  59.                              the DACL, the SACL, or both.
  60. TrusteeAction:   Action to perform on trustee specified:
  61.                  remtrst:    Remove all ACEs belonging to trustee specified.
  62.                  repltrst:   Replace trustee 'n1' by 'n2' in all ACEs.
  63.                  cpytrst:    Copy the permissions for trustee 'n1' to 'n2'.
  64. DomainAction:    Action to perform on domain specified:
  65.                  remdom:     Remove all ACEs belonging to trustees of domain
  66.                              specified.
  67.                  repldom:    Replace trustees from domain 'n1' by trustees with
  68.                              same name from domain 'n2' in all ACEs.
  69.                  cpydom:     Copy permissions from trustees from domain 'n1' to
  70.                              trustees with same name from domain 'n2' in all
  71.                              ACEs.
  72. Trustee:         Name or SID of trustee (user or group). Format:
  73.                  
  74.                  a) [(computer | domain)\]name
  75.                  
  76.                  Where:
  77.                  
  78.                  computer:   DNS or NetBIOS name of a computer -> 'name' must
  79.                              be a local account on that computer.
  80.                  domain:     DNS or NetBIOS name of a domain -> 'name' must
  81.                              be a domain user or group.
  82.                  name:       user or group name
  83.                  
  84.                  If no computer or domain name is given, SetACL tries to find
  85.                  a SID for 'name' in the following order:
  86.                  
  87.                  1. built-in accounts and well-known SIDs
  88.                  2. local accounts
  89.                  3. primary domain
  90.                  4. trusted domains
  91.                  
  92.                  b) SID string
  93. Domain:          Name of a domain (NetBIOS or DNS name).
  94. Permission:      Permission to set. Validity of permissions depends on the
  95.                  object type (see below). Comma separated list.
  96.                  Example:    'read,write_ea,write_dacl'
  97. IsSID:           Is the trustee name a SID?
  98.                  y:          Yes
  99.                  n:          No
  100. DisplaySID:      Display trustee names as SIDs?
  101.                  y:          Yes
  102.                  n:          No
  103.                  b:          Both (names and SIDs)
  104. Inheritance:     Inheritance flags for the ACE. This may be a comma separated
  105.                  list containing the following:
  106.                  so:         sub-objects
  107.                  sc:         sub-containers
  108.                  np:         no propagation
  109.                  io:         inherit only
  110.                  
  111.                  Example:    'io,so'
  112. Mode:            Access mode of this ACE:
  113.                  a) DACL:
  114.                  set:        Replace all permissions for given trustee by
  115.                              those specified.
  116.                  grant:      Add permissions specified to existing permissions
  117.                              for given trustee.
  118.                  deny:       Deny permissions specified.
  119.                  revoke:     Remove permissions specified from existing
  120.                              permissions for given trustee.
  121.                  b) SACL:
  122.                  aud_succ:   Add an audit success ACE.
  123.                  aud_fail:   Add an audit failure ACE.
  124.                  revoke:     Remove permissions specified from existing
  125.                              permissions for given trustee.
  126. Where:           Apply settings to DACL, SACL, or both (comma separated list):
  127.                  dacl
  128.                  sacl
  129.                  dacl,sacl
  130. Recursion:       Recursion settings, depends on object type:
  131.                  a) file:
  132.                  
  133.                  no:         No recursion.
  134.                  cont:       Recurse, and process directories only.
  135.                  obj:        Recurse, and process files only.
  136.                  cont_obj:   Recurse, and process directories and files.
  137.                  
  138.                  b) reg:
  139.                  
  140.                  no:         Do not recurse.
  141.                  yes:        Do Recurse.
  142. Protection:      Controls the flag 'allow inheritable permissions from the
  143.                  parent object to propagate to this object':
  144.                  nc:         Do not change the current setting.
  145.                  np:         Object is not protected, i.e. inherits from
  146.                              parent.
  147.                  p_c:        Object is protected, ACEs from parent are
  148.                              copied.
  149.                  p_nc:       Object is protected, ACEs from parent are not
  150.                              copied.
  151. Format:          Which list format to use:
  152.                  sddl:       Standardized SDDL format. Only listings in this
  153.                              format can be restored.
  154.                  csv:        SetACL's csv format.
  155.                  tab:        SetACL's tabular format.
  156. What:            Which components of security descriptors to include in the
  157.                  listing. (comma separated list):
  158.                  d:          DACL
  159.                  s:          SACL
  160.                  o:          Owner
  161.                  g:          Primary group
  162.                  
  163.                  Example:    'd,s'
  164. ListInherited:   List inherited permissions?
  165.                  y:          Yes
  166.                  n:          No
  167. Filename:        Name of a (unicode) file used for list/backup/restore
  168.                  operations or logging.
  169. Keyword:         Keyword to filter object names by. Names containing this
  170.                  keyword are not processed.
  171. -R-E-M-A-R-K-S--------------------------------------------------------
  172. Required parameters (all others are optional):
  173.                  -on         (Object name)
  174.                  -ot         (Object type)
  175. Parameters that may be specified more than once:
  176.                  -actn       (Action)
  177.                  -ace        (Access control entry)
  178.                  -trst       (Trustee)
  179.                  -dom        (Domain)
  180.                  -fltr       (Filter keyword)
  181. Only actions specified by parameter(s) '-actn' are actually performed,
  182. regardless of the other options set.
  183. Order in which multiple actions are processed:
  184.                  1.          restore
  185.                  2.          clear
  186.                  3.          trustee
  187.                  4.          domain
  188.                  5.          ace, setowner, setgroup, setprot
  189.                  6.          rstchldrn
  190.                  7.          list
  191. -V-A-L-I-D--P-E-R-M-I-S-S-I-O-N-S-------------------------------------
  192. a) Standard permission sets (combinations of specific permissions)
  193. Files / Directories:
  194.               read:          Read
  195.               write:         Write
  196.               list_folder:   List folder
  197.               read_ex:       Read, execute
  198.               change:        Change
  199.               profile:       = change + write_dacl
  200.               full:          Full access
  201. Printers:
  202.               print:         Print
  203.               man_printer:   Manage printer
  204.               man_docs:      Manage documents
  205.               full:          Full access
  206. Registry:
  207.               read:          Read
  208.               full:          Full access
  209. Service:
  210.               read:          Read
  211.               start_stop:    Start / Stop
  212.               full:          Full access
  213. Share:
  214.               read:          Read
  215.               change:        Change
  216.               full:          Full access
  217. b) Specific permissions
  218. Files / Directories:
  219.               traverse:      Traverse folder / execute file
  220.               list_dir:      List folder / read data
  221.               read_attr:     Read attributes
  222.               read_ea:       Read extended attributes
  223.               add_file:      Create files / write data
  224.               add_subdir:    Create folders / append data
  225.               write_attr:    Write attributes
  226.               write_ea:      Write extended attributes
  227.               del_child:     Delete subfolders and files
  228.               delete:        Delete
  229.               read_dacl:     Read permissions
  230.               write_dacl:    Write permissions
  231.               write_owner:   Take ownership
  232. Registry:
  233.               query_val:     Query value
  234.               set_val:       Set value
  235.               create_subkey: Create subkeys
  236.               enum_subkeys:  Enumerate subkeys
  237.               notify:        Notify
  238.               create_link:   Create link
  239.               delete:        Delete
  240.               write_dacl:    Write permissions
  241.               write_owner:   Take ownership
  242.               read_access:   Read control
复制代码
【奖励名单】wxcute、coolcatsfx

【活动结束】2009-05-11
作者: coolcatsfx    时间: 2009-4-17 11:58     标题: FYI, SetACL.exe 0.904 中文帮助:

SetACL.exe 0.904 中文帮助:

示例:
SetACL.exe c:\nihao /dir /deny everyone /read_ex

设置E:\wxDesktop 文件夹 everyone 用户为读取和运行权限
         
SetACL MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run /registry /deny
administrator /read

设置注册表键值Run 为完全控制权限

------------------------------------------------------------------------------         

SetACL.exe 0.904 中文帮助:

用法:SetACL.exe
                  [/i:] [/p:] [/r:]
                  [/sid] [/silent]

注意:<> 中的参数是必需的,[] 中的参数是可选
==============================================================================

    = 任意本地或远程对象的有效路径

------------------------------------------------------------------------------

    = 对象类型,以下任意参数:
                     /file           文件
                     /dir            目录
                     /printer        打印机
                     /registry       注册表
                     /service        服务
                     /share          共享
                 
------------------------------------------------------------------------------

    = 操作,以下任意参数
                     /deny           拒绝指定用户的访问
                     /grant          赋予指定用户的访问权限
                     /set            设置指定用户的访问权限
                     /revoke         撤销指定用户的访问权限
                  
------------------------------------------------------------------------------

    = 用户

------------------------------------------------------------------------------

    = 权限,以下任意参数

       /file         = 文件对象的可用参数:
                       /read                    读取
                       /write                   写入
                       /read_ex                 读取和运行
                       /change                  修改
                       /full                    完全控制
                     
                       以下为特别的权限:
                       /traverse
                       /list_dir                读取数据
                       /read_attributes         读取属性
                       /read_ea                 读取扩展属性
                       /add_file                写入数据
                       /add_subdir            
                       /write_attributes        写入属性
                       /write_ea                写入扩展属性
                       /delete_child         
                       /delete                  删除
                       /read_dacl               记取权限
                       /write_dacl              写入权限
                       /write_owner             取得所有权

------------------------------------------------------------------------------
     
       /dir          = 目录对象的可用参数:
                       /read                    读取
                       /write                   写入
                       /list_folder             列出文件夹目录
                       /read_ex                 读取和运行
                       /change                  修改
                       /full                    完全控制
                     
                       以下为特别的权限:
                       /traverse
                       /list_dir                读取数据
                       /read_attributes         读取属性
                       /read_ea                 读取扩展属性
                       /add_file                写入数据
                       /add_subdir            
                       /write_attributes        写入属性
                       /write_ea                写入扩展属性
                       /delete_child         
                       /delete                  删除
                       /read_dacl               记取权限
                       /write_dacl              写入权限
                       /write_owner             取得所有权
                     
------------------------------------------------------------------------------
     
       /printer      = 打印机对象的可用参数:
                       /print                   打印
                       /man_printer             管理打印机
                       /man_docs                管理文档
                       /full                    完全控制
                     
------------------------------------------------------------------------------
     
       /registry     = 注册表对象的可用参数:
                       /read                    读取
                       /full                    完全控制
                     
                       以下为特别的权限
                       /query_val               查询数值
                       /set_val                 设置数值
                       /create_subkey           创建子项
                       /enum_subkeys            枚举子项
                       /notify                  通知
                       /create_link             创建链接
                       /delete                  删除
                       /write_dacl              写入 DAC
                       /write_owner             写入所有者
                       /read_access             读取控制
                     
------------------------------------------------------------------------------
     
       /service      = 服务对象的可用参数
                       {/read | /start_stop | /full}
                     
------------------------------------------------------------------------------
     
       /share        = 共享对象的可用参数
                       /read                    读取
                       /change                  更改
                       /full                    完全控制
作者: Batcher    时间: 2009-4-17 12:51     标题: 回复 2楼 的帖子

请问是google搜索的?还是自己翻译的?
还有,顶楼给出的版本是2.0.3.0
作者: wxcute    时间: 2009-5-11 15:28     标题: 第三方工具 SetACL.EXE 2.0.3.0 中文帮助

转载请注明出处:http://bbs.bathome.net/thread-3670-1-1.html
英 文 翻 译:WXCUTE AT BBS.bathome.net


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:  读取控制

───结束─────────────────────────


[ 本帖最后由 wxcute 于 2009-7-8 22:02 编辑 ]
作者: wxcute    时间: 2009-5-11 15:34     标题: 示例讲解,根据官网示例翻译

英文原版示例:http://setacl.sourceforge.net/html/examples.html

━━━━━
文件系统
━━━━━
用于操作文件、目录或驱动器的权限。
-on 后跟对象名,可以是文件、目录或驱动器;
-ot 后跟种类,这时用 file。

示例一
SetACL.exe -on "C:\my dir" -ot file -actn ace
      -ace "n:domain1\user1;p:change"

(实际上这些参数应该写在一行的,为了方便说明特写成多行。)

设置“C:\my dir”目录,允许域 domain1 中 user1 用户拥有更改的权限。

示例二
SetACL.exe -on "C:\my dir" -ot file -actn ace
      -ace "n:domain1\user1;p:read,write_dacl"

和示例一一样,不同处在于设置了以下两个权限:
    读取(标准权限设置)
    写入特殊权限(特殊权限)


示例三
SetACL.exe -on "C:\my dir" -ot file -actn ace
      -ace "n:domain1\user1;p:change"
      -ace "n:administrators;p:full"

和示例一一样,相比增加设置 administrators 用户组权限为完全控制。

示例四
SetACL.exe -on "C:\my dir" -ot file -actn ace
      -ace "n:domain1\user1;p:change"
      -ace "n:S-1-5-32-544;p:full;s:y"

这是示例三的优化写法。administrators 是系统内建组,它会随操作系统语言的不同而改变,因此采用固定不变的 SID 替代会更好。

示例五
SetACL.exe -on "\\server1\share1\my dir" -ot file -actn ace
      -ace "n:domain1\user1;p:change"
      -ace "n:S-1-5-32-544;p:full;s:y"

类似示例四,但对象名是使用的 UNC(通用命名标准)名称,来远程连接服务器 server1 上的共享目录 share1。

示例六
SetACL.exe -on "\\server1\share1\my dir" -ot file -actn ace
      -ace "n:domain1\user1;p:change"
      -ace "n:S-1-5-32-544;p:full;s:y"
      -ace "n:domain2\user2;p:full;m:aud_fail;w:sacl"

在示例五的基础上,增加了对域 domain2 中 user2 用户设置权限是否成功的检查。

示例七
SetACL.exe -on "\\server1\share1\my dir" -ot file -actn ace
      -ace "n:domain1\user1;p:change"
      -ace "n:S-1-5-32-544;p:full;s:y"
      -ace "n:domain2\user2;p:full;m:aud_fail;w:sacl"
      -actn clear -clr "dacl,sacl"

和示例六一样,但有所改动。任何非继承的权限被删除,其他则成功设置。效果就是清除了有交叉重叠的权限。

示例八
SetACL.exe -on "\\server1\share1\my dir" -ot file -actn ace
      -ace "n:domain1\user1;p:change"
      -ace "n:S-1-5-32-544;p:full;s:y"
      -ace "n:domain2\user2;p:full;m:aud_fail;w:sacl"
      -actn clear -clr "dacl,sacl"
      -actn rstchldrn -rst "dacl,sacl"

类似示例七,但处理了更多事务。所有本该继承到子对象的权限都被重置,结果是只有特殊权限才被应用到整个目录树对象中。

示例九
SetACL.exe -on "\\server1\share1\my dir" -ot file -actn ace
      -ace "n:domain1\user1;p:change"
      -ace "n:S-1-5-32-544;p:full;s:y"
      -ace "n:domain2\user2;p:full;m:aud_fail;w:sacl"
      -actn clear -clr "dacl,sacl"
      -actn rstchldrn -rst "dacl,sacl"
      -log "c:\my files\setacl log.txt"

与示例八相同,但所有屏幕输出同时保存到了指定的日志文件。

示例十
SetACL.exe -on "\\server1\share1\my dir" -ot file -actn ace
      -ace "n:domain1\user1;p:change"
      -ace "n:S-1-5-32-544;p:full;s:y"
      -ace "n:domain2\user2;p:full;m:aud_fail;w:sacl"
      -actn clear -clr "dacl,sacl"
      -actn rstchldrn -rst "dacl,sacl"
      -log "c:\my files\setacl log.txt"
      -silent

和示例九相似,但没有屏幕输入而只输出到文件。

示例十一
SetACL.exe -on "\\server1\share1\my dir" -ot file -actn ace
      -ace "n:domain1\user1;p:change"
      -ace "n:S-1-5-32-544;p:full;s:y"
      -ace "n:domain2\user2;p:full;m:aud_fail;w:sacl"
      -actn clear -clr "dacl,sacl"
      -actn rstchldrn -rst "dacl,sacl"
      -log "c:\my files\setacl log.txt"
      -silent
      -fltr "secrets" -fltr "top secret"

跟示例十一样,但排除了含有“secrets”和“top secret”的文件/目录。

示例十二
SetACL.exe -on "\\server1\share1\users" -ot file -actn setprot
      -op "dacl:np;sacl:nc"
      -rec cont_obj
      -actn setowner -ownr "n:S-1-5-32-544;s:y"

重置整个目录到大多数管理员想要的那样:
将所有文件/目录的所有者提升到 administrators 组,还有将 DACL 权限设置为可继承,而 SACL 权限则不变。

示例十三
SetACL.exe -on "\\server1\share1\users" -ot file -actn list
      -lst "f:sddl;w:d,s,o,g"
      -rec cont
      -bckp "d:\data\setacl listing.txt"

用 SDDL 格式列出目录 \\server1\share1\users 及其子目录的完整权限清单,要列出的项包括 DACL、SACL、所有者及所属组。
清单保存为 UNICODE 编码格式的指定文件。

示例十四
SetACL.exe -on "dummy entry" -ot file -actn restore
      -bckp "d:\data\setacl listing.txt"

从备份文件中恢复所有安全描述数据(如 DACL、SACL、所有者和组等)到原始对象。

注意:如果你拥有相应的权限(通常是指你以管理员身份登录时),则所有的安全描述数据将会被覆盖。

说明:只有备份文件中包含的数据才会被覆盖。例如,你创建了一个只描述 SACL 权限的备份文件,则恢复时 DACL、所有者与组均不会改变。

示例十五
SetACL.exe -on "\\server1\share1\users" -ot file -actn trustee
      -rec cont_obj
      -trst "n1:domain1\user1;n2:domain2\user2;ta:cpytrst;w:dacl"

这个方法用于复制不同域中用户的权限时很有用。
此命令会复制原本属于 domain1\user1 的所有权限到 domain2\user2,结果就是使 user2 成为 user1 的权限副本,
即 user2 会拥有与 user1 一模一样的权限。

示例十六
SetACL.exe -on "\\server1\share1\users" -ot file -actn domain
      -rec cont_obj
      -dom "n1:domain1;n2:domain2;da:repldom;w:dacl"

这种方法用于复制或移动域之间的权限。
这个命令会用域 domain1 用户或组中所有 SID 来替换域 domain2 下相当用户或组的 SID。
执行结果就是 domain2\user1 会拥有与 domain1\user1 一样的权限。

━━━━━
注册表
━━━━━
-on 用注册表完整项名
-ot 用 reg,表示是注册表

示例十七
SetACL.exe -on "hklm\software\microsoft\policies" -ot reg -actn ace
      -ace "n:domain1\user1;p:full"

设置域 domain1 中 user1 用户拥有注册表项 HKEY_LOCAL_MACHINE\Software\Microsoft\Policies 的完全控制权限。

示例十八
SetACL.exe -on "\\machine2\hklm\software\microsoft\policies" -ot reg -actn ace
      -ace "n:domain1\user1;p:full"

跟示例十七相同,不同之处在于操作的是远程机器 machine2 上的注册表。

示例十九
SetACL.exe -on "hkcu" -ot reg -actn ace
      -ace "n:domain1\user1;p:full"

设置域 domain1 中的 user1 用户拥有注册表根项 HKEY_CURRENT_USER 的完全控制权限。

━━━━━
打印机
━━━━━
-on 打印机或共享打印机名称
-ot 用 prn 代表打印机

示例二十
SetACL.exe -on "\\server1\HP LaserJet 4050" -ot prn -actn list

列出服务器 server1 上名为“HP LaserJet 4050”的打印机的所有权限。

示例廿一
SetACL.exe -on "\\server1\HP LaserJet 4050" -ot prn -actn ace
      -ace "n:domain1\HelpDesk;p:man_docs"

设置域 domain1 中的 HelpDesk 组拥有服务器 server1 上共享打印机“HP LaserJet 4050”管理打印文档的权限。

━━━━━
共享
━━━━━

示例廿二
SetACL.exe -on "\\server1\Data$" -ot shr -actn list

列出服务器 server1 上共享目录 Data$ 的当前所有权限。

━━━━━
服务
━━━━━

示例廿三
SetACL.exe -on "\\server1\W32Time" -ot srv -actn ace
      -ace "n:domain1\group1;p:start_stop"

设置域 domain1 中的 group1 用户组拥有服务器 server1 上时间服务的开启与停止的权限。
━结━束━


[ 本帖最后由 wxcute 于 2009-5-11 15:36 编辑 ]
作者: lxzzr    时间: 2009-7-12 22:01

WXCUTE 版主内外“兼修”啊,呵呵
作者: freesoft00    时间: 2010-4-3 14:20

找这个不知道找了多久了,终于找到了
作者: zzcn2008    时间: 2010-4-17 10:26

还是看不明白!如何给“HKCR\CLSID\{208D2C60-3AEA-1069-A2D7-08002B30309D}”这个项添加Administrator权限,或者让“{208D2C60-3AEA-1069-A2D7-08002B30309D}”从把CLSID权限继承过来!
作者: elfkid    时间: 2010-5-11 15:55     标题: 纠错

clear:   清空所有继承的访问控制列表。参数“-clr”可控制 DACL、SACL 或两者同时。
这个翻译有误原文如下:
clear: Clear the ACL of any non-inherited ACEs. The
                             parameter '-clr' controls whether to do this for
                             the DACL, the SACL, or both.
clear :清除所有非继承的访问控制项目,参数 “-clr” 用于控制是否清除DACL,SACL权限或两者全部。
作者: carson2013    时间: 2013-1-29 16:20

太强了, 喜欢
作者: gudou    时间: 2013-1-31 00:01

原来真实存在翻译好的……版主太强大!前几天找汉化说明无果,自己对照词典一点一点翻译了部分呢还……没想今天都遇到大神级翻译!
作者: duyang12003    时间: 2014-11-5 12:11

好几年前想看到这些,哎,
作者: 594850072    时间: 2017-4-8 21:32

以前看不懂 现在懂了。确实强大




欢迎光临 批处理之家 (http://bathome.net./) Powered by Discuz! 7.2