如何使用 Xcacls.exe 修改 NTFS 权限

来源:互联网 发布:php适配器模式代码 编辑:程序博客网 时间:2024/06/06 01:04
如何使用 Xcacls.exe 修改 NTFS 权限

概要
本分步指南介绍如何使用扩展的更改访问控制列表工具 (Xcacls.exe) 修改和查看文件或文件夹的 NTFS 权限。 

使用 Xcacls.exe 可以通过命令行设置所有可在 Windows 资源管理器中访问到的文件系统安全选项。Xcacls.exe 通过显示和修改文件的访问控制列表 (ACL) 完成此操作。 

Xcacls.exe 在 Windows 2000 Professional 或 Windows 2000 Server 的无值守安装中特别有用。通过使用此工具,可以为操作系统所在的文件夹设置初始访问权限。在您将软件分发到服务器或工作站时,Xcacls.exe 还提供单步保护,以防止用户删除文件夹或文件。

Xcacls.exe 实用工具包含在 Windows 2000 资源工具包 中。 

您可从下面的 Microsoft Web 站点下载 Xcacls.exe 实用工具: 
http://www.microsoft.com/windows2000/techinfo/reskit/tools/existing/xcacls-o.asp
返回页首 
Xcacls.exe 语法
xcacls 文件名 [/T] [/E] [/C] [/G user:perm;spec] [/R 用户] [/P user:perm;spec [...]] [/D 用户 [...]] [/Y] 
其中文件名表示 ACL 或访问控制项 (ACE) 通常应用于的文件或文件夹的名称。所有标准通配符均可使用。

/T 递归检查当前文件夹及其所有子文件夹,对匹配的文件或文件夹应用所选的访问权限。 

/E 编辑 ACL 而不替换它。例如,如果您运行 XCACLS test.dat /G Administrator:F 命令,则只有管理员拥有对 Test.dat 文件的访问权限。之前应用的所有 ACE 都会丢失。 

/C 使 Xcacls.exe 在出现“拒绝访问”错误信息时继续执行。如果未指定 /C,则 Xcacls.exe 在出现此错误时停止执行。 

/G user:perm;spec 授予用户对匹配文件或文件夹的访问权限。 
• perm(权限)变量对文件应用指定的访问权限,并代表文件夹的特殊文件访问权限掩码。perm 变量接受下列值:
    • R 读取 
    • C 更改(写入) 
    • F 完全控制 
    • P 更改权限(特殊访问权限) 
    • O 取得所有权(特殊访问权限) 
    • X 执行(特殊访问权限) 
    • E 读取(特殊访问权限) 
    • W 写入(特殊访问权限) 
    • D 删除(特殊访问权限) 
 
• spec(特殊访问权限)变量仅应用于文件夹,它除了接受与 perm 相同的值以外,还接受以下特殊值:
    • T 未指定。为目录本身设置 ACE,而不指定应用于在该目录中创建的新文件的 ACE。至少存在一个要遵循的访问权限。分号 (;) 和 T 之间的项将被忽略。注意:
        • 文件的访问权限选项(针对文件夹、特殊文件和文件夹访问)是完全相同的。有关这些选项的详细说明,请参阅 Windows 2000 操作系统的文档。 
        • 所有其他选项(它们也可以在 Windows 资源管理器中设置)都是基本访问权限的所有可能组合的子集。因此,不存在文件夹访问权限(如 LIST 或 READ)的特殊选项。 
 
 
/R 用户为指定用户调用所有访问权限。

/P user:perm;spec 替换用户的访问权限。指定 perm 和 spec 的规则与 /G 选项相同。请参阅本文的“Xcacls.exe 示例”部分。

/D 用户拒绝用户访问文件或目录。

/Y 禁止在替换用户访问权限时出现确认提示。默认情况下,CACLS 要求确认。由于存在此功能,在批处理例程中使用 CACLS 时,例程将停止响应并等待输入正确答案。引入 /Y 选项后可消除此确认,从而可以在批处理模式下使用 Xcacls.exe。 

使用 Xcacls.exe 查看权限
Xcacls.exe 还可用于查看文件或文件夹的权限。例如,在命令提示符处键入 xcacls C:/winnt,然后按 Enter 键。下面是典型结果: 
c:/WINNT BUILTIN/Users:R
BUILTIN/Users:(OI)(CI)(IO)(special access:)
GENERIC_READ
GENERIC_EXECUTE

BUILTIN/Power Users:C
BUILTIN/Power Users:(OI)(CI)(IO)C
BUILTIN/Administrators:F
BUILTIN/Administrators:(OI)(CI)(IO)F
NT AUTHORITY/SYSTEM:F
NT AUTHORITY/SYSTEM:(OI)(CI)(IO)F
BUILTIN/Administrators:F
CREATOR OWNER:(OI)(CI)(IO)F

                
这些 ACL 标志具有下列含义: 
• IO:仅继承 — 此标志表示此 ACE 不应用于当前对象。 
• CI:容器继承 — 此标志表示从属容器将继承此 ACE。 
• OI:对象继承 — 此标志表示从属文件将继承该 ACE。 
• NP:不传播 — 此标志表示从属对象不继续传播继承的 ACE。 
每行末尾的字母表示权限。例如: 
• F:完全控制 
• C:更改 
• W:写入 

Xcacls.exe 示例
示例 1
在命令提示符下键入 XCACLS *.* /G administrator:RW /Y,然后按 Enter 键以替换当前文件夹中所有文件和文件夹的 ACL,而不扫描子文件夹且不进行确认。 
示例 2
在本示例中,添加到文件夹的 ACE 还将继承在此文件夹中创建的新文件的 ACE。该命令授予 TestUser 对此文件夹中的所有新建文件的读取、写入、运行和删除权限,但只授予对文件夹本身的读写权限。在命令提示符下键入 XCACLS *.* /G TestUser:RWED;RW /E,然后按 Enter 键。 
示例 3
下面的示例将授予对文件夹的读写权限,而不为新文件创建继承项。因此,在本示例中,此文件夹中的新建文件不会收到 TestUser 的 ACE。对于现有文件,将创建具有读取权限的 ACE。在命令提示符下键入 XCACLS *.* /G TestUser:R;RW /E,然后按 Enter 键。
 
NTFS 权限原则
下面是分配 NTFS 权限的原则: • 使用 NTFS 权限控制对文件和文件夹的访问。 
• 将权限分配给组而不是单独用户。 
• NTFS 文件权限优先于 NTFS 文件夹权限。 
• 管理员以及文件或文件夹的所有者控制可为该对象设置的权限。 
• 在更改文件夹权限时,应了解服务器上安装的程序。程序会创建自己的文件夹并打开“允许从父系来的继承权限传播到这个对象”设置。如果更改了父文件夹中的权限,则这些更改可能会导致程序中出现问题。

警告:请记住,许多文件和文件夹通过继承接收权限。因此,在您认为只是更改了一个文件夹时,您可能更改了其他更多内容。 

参考
有关其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章: 
245015 如何使用 Xcacls.exe 打印文件夹和文件权限。 
[http://support.microsoft.com/kb/135268]135268[/url] 如何在批处理文件中使用 CACLS.EXE 

命令行参数帮助
XCACLS filename [/T] [/E|/X] [/C] [/G user:perm;spec] [/R user [...]]

                [/P user:perm;spec [...]] [/D user [...]] [/Y]



Description:
    Displays or modifies access control lists (ACLs) of files.

Parameter List:

    filename           Displays ACLs.
    /T                 Changes ACLs of specified files in
                       the current directory and all subdirectories.
    /E                 Edits ACL instead of replacing it.
    /X                 Same as /E except it only affects the ACEs that  
                       the specified users already own.
    /C                 Continues on access denied errors.
    /G user:perm;spec  Grants specified user access rights.

                       Perm can be:
                R  Read
                C  Change (write)
                F  Full control
                P  Change Permissions (Special access)
                O  Take Ownership (Special access)
                X  EXecute (Special access)
                E  REad (Special access)
                W  Write (Special access)
                D  Delete (Special access)


                       Spec can be the same as perm and will only be
                       applied to a directory. In this case, Perm
                       will be used for file inheritance in this
                       directory. By default, Spec=Perm. 
               Special values for Spec only:
                                T  Valid for only for directories.
                                   At least one access right has to 
                                   follow. Entries between ';' and T 
                   will be ignored.


    /R user            Revokes specified user's access rights.

    /P user:perm;spec  Replaces specified user's access rights.
                       Access right specification as same as 
               /G option.
    /D user            Denies specified user access.
    /Y                 Replaces user's rights without verify.


NOTE:

    Wildcards can be used to specify more than one file.
    More than one user can be specified.
    Access rights can be combined.


Examples:

    XCACLS /?
    XCACLS TEMP.DOC /G ADMINISTRATOR:RC
    XCACLS *.TXT /G ADMINISTRATOR:RC /Y
    XCACLS *.* /R ADMINISTRATOR /Y
    XCACLS TEST.DLL /D ADMINISTRATOR /Y
    XCACLS TEST.DLL /P ADMINISTRATOR:F /Y
    XCACLS *.* /G ADMINISTRATOR:F;TRW /Y
    XCACLS *.* /G ADMINISTRATOR:F;TXE /C /Y


[本日志由 flyinweb 于 2006-07-07 05:50 PM 编辑]
 
原创粉丝点击