设置高级NTFS权限的工具 XCACLS.vbs

http://support.microsoft.com/kb/825751

Microsoft 以 Microsoft Visual Basic 脚本 (Xcacls.vbs) 的形式提供了 Extended Change Access Control List(扩展更改访问控制列表)工具 (Xcacls.exe) 的更新版本。本文分步介绍如何使用 Xcacls.vbs 脚本修改和查看文件或文件夹的 NTFS 文件系统权限。 可以从命令行使用 Xcacls.vbs 设置所有可在 Microsoft Windows 资源管理器中访问的文件系统安全选项。Xcacls.vbs 可显示和修改文件的访问控制列表 (ACL)。

注意:Xcacls.vbs 只与 Microsoft Windows 2000、Microsoft Windows XP 和 Microsoft Windows Server 2003 兼容。Microsoft 不支持 Xcacls.vbs。

回到顶端
设置和使用 Xcacls.vbs
要设置和使用 Xcacls.vbs,请按照下列步骤操作:
从以下 Microsoft 网站获得 Xcacls.vbs 的最新版本:
http://download.microsoft.com/download/f/7/8/f786aaf3-a37b-45ab-b0a2-8c8c18bbf483/XCacls_Installer.exe (http://download.microsoft.com/download/f/7/8/f786aaf3-a37b-45ab-b0a2-8c8c18bbf483/xcacls_installer.exe)
双击“Xcacls_Installer.exe”。当提示您提供放置提取文件的位置时,请指定一个位于计算机的搜索路径设置中的文件夹(如 C:\Windows)。
将默认脚本引擎从 Wscript 更改为 Cscript。(Xcacls.vbs 脚本最适合在 Cscript 下运行。)为此,请在命令提示符下键入以下内容,然后按 Enter:
cscript.exe /h:cscript
注意:将默认脚本引擎更改为 Cscript 只影响脚本向屏幕写入的方式。Wscript 根据“确定”对话框分别写入每一行。Cscript 将每一行写入命令窗口。如果您不想更改默认脚本引擎,则必须使用以下命令运行脚本
cscript.exe xcacls.vbs
但是,如果将默认脚本更改为 Cscript,则可以使用以下命令运行该脚本:
xcacls.vbs
.
要查看 Xcacls.vbs 的命令语法,请在命令提示符处键入下面的命令:
xcacls.vbs /?
Xcacls.vbs 命令的语法
下面 xcacls.vbs /? 命令的输出描述了 Xcacls.vbs 命令的语法:


代码如下:

Usage:
XCACLS filename [/E] [/G user:perm;spec] [...] [/R user [...]]
[/F] [/S] [/T]
[/P user:perm;spec [...]] [/D user:perm;spec] [...]
[/O user] [/I ENABLE/COPY/REMOVE] [/N
[/L filename] [/Q] [/DEBUG]

filename [Required] If used alone, it displays ACLs.
(Filename can be a filename, directory name or
wildcard characters and can include the whole
path. If path is missing, it is assumed to be
under the current directory.)
Notes:
- Put filename in quotes if it has spaces or
special characters such as &, $, #, etc.
- If filename is a directory, all files and
subdirectories under it will NOT be changed
unless the /F or S is present.

/F [Used with Directory or Wildcard] This will change all
files under the inputted directory but will NOT
traverse subdirectories unless /T is also present.
If filename is a directory, and /F is not used, no
files will be touched.

/S [Used with Directory or Wildcard] This will change all
subfolders under the inputted directory but will NOT
traverse subdirectories unless /T is also present.
If filename is a directory, and /S is not used, no
subdirectories will be touched.

/T [Used only with a Directory] Traverses each
subdirectory and makes the same changes.
This switch will traverse directories only if the
filename is a directory or is using wildcard characters.
/E Edit ACL instead of replacing it.

/G user:GUI Grant security permissions similar to Windows GUI
standard (non-advanced) choices.
/G user:Perm;Spec Grant specified user access rights.
(/G adds to existing rights for user)

User: If User has spaces in it, enclose it in quotes.
If User contains #machine#, it will replace
#machine# with the actual machine name if it is a
non-domain controller, and replace it with the
actual domain name if it is a domain controller.

New to 3.0: User can be a string representing
the actual SID, but MUST be lead by SID#
Example: SID#S-1-5-21-2127521184-160...
(SID string shown has been shortened)
(If any user has SID# then globally all
matches must match the SID (not name)
so if your intention is to apply changes
to all accounts that match Domain\User
then do not specify SID# as one of the
users.)

GUI: Is for standard rights and can be:
Permissions...
F Full control
M Modify
X read and eXecute
L List folder contents
R Read
W Write
Note: If a ; is present, this will be considered
a Perm;Spec parameter pair.

Perm: Is for "Files Only" and can be:
Permissions...
F Full control
M Modify
X read and eXecute
R Read
W Write
Advanced...
D Take Ownership
C Change Permissions
B Read Permissions
A Delete
9 Write Attributes
8 Read Attributes
7 Delete Subfolders and Files
6 Traverse Folder / Execute File
5 Write Extended Attributes
4 Read Extended Attributes
3 Create Folders / Append Data
2 Create Files / Write Data
1 List Folder / Read Data
Spec is for "Folder and Subfolders only" and has the
same choices as Perm.

/R user Revoke specified user's access rights.
(Will remove any Allowed or Denied ACL's for user.)

/P user:GUI Replace security permissions similar to standard choices.

/P user:perm;spec Replace specified user's access rights.
For access right specification see /G option.
(/P behaves like /G if there are no rights set for user.)

/D user:GUI Deny security permissions similar to standard choices.
/D user:perm;spec Deny specified user access rights.
For access right specification see /G option.
(/D adds to existing rights for user.)

/O user Change the Ownership to this user or group.

/I switch Inheritance flag. If omitted, the default is to not touch
Inherited ACL's. Switch can be:
ENABLE - This will turn on the Inheritance flag if
it is not on already.
COPY - This will turn off the Inheritance flag and
copy the Inherited ACL's
into Effective ACL's.
REMOVE - This will turn off the Inheritance flag and
will not copy the Inherited
ACL's. This is the opposite of ENABLE.
If switch is not present, /I will be ignored and
Inherited ACL's will remain untouched.

/L filename Filename for Logging. This can include a path name
if the file is not under the current directory.
File will be appended to, or created if it does not
exit. Must be Text file if it exists or error will occur.

If filename is omitted, the default name of XCACLS will
be used.

/Q Turn on Quiet mode. By default, it is off.
If it is turned on, there will be no display to the screen.

/DEBUG Turn on Debug mode. By default, it is off.
If it is turned on, there will be more information
displayed and/or logged. Information will show
Sub/Function Enter and Exit as well as other important
information.

/SERVER servername Enter a remote server to run script against.

/USER username Enter Username to impersonate for Remote Connections
(requires PASS switch). Will be ignored if it is for a Local Connection.

/PASS password Enter Password to go with USER switch
(requires USER switch).

Wildcard characters can be used to specify more than one file in a command, such as:
* Any string of zero or more characters
? Any single character

You can specify more than one user in a command.
You can combine access rights.

使用 Xcacls.vbs 查看权限

Xcacls.vbs 还可用于查看文件或文件夹的权限。 例如,如果您有一个名为 C:\Test 的文件夹,在命令提示符处键入以下命令以查看文件夹权限,然后按 Enter:
xcacls.vbs c:\test
下面的示例是一个典型结果:


代码如下:

C:\>XCACLS.VBS c:\test
Microsoft (R) Windows Script Host 5.6
版权所有 (C) Microsoft Corporation 1996-2001。保留所有权利。

Starting XCACLS.VBS (Version: 3.4) Script at 6/11/2003 10:55:21 AM

Startup directory:
"C:\test"

Arguments Used:
Filename = "c:\test"

**************************************************************************
Directory:C:\test

Permissions:
Type Username Permissions Inheritance

Allowed BUILTIN\Administrators Full Control This Folder, Subfolde
Allowed NT AUTHORITY\SYSTEM Full Control This Folder, Subfolde
Allowed Domain1\User1 Full Control This Folder Only
Allowed \CREATOR OWNER Special (Unknown) Subfolders and Files
Allowed BUILTIN\Users Read and Execute This Folder, Subfolde
Allowed BUILTIN\Users Create Folders / Appe This Folder and Subfo
Allowed BUILTIN\Users Create Files / Write This Folder and Subfo

No Auditing set

Owner:Domain1\User1

注意:在该示例中,xcacls.vbs c:\test 命令的输出与显示在图形用户界面 (GUI) 的文本一致。命令窗口的一些文字不完整。

输出还给出了脚本的版本、启动目录和使用的参数。

您还可以使用通配符来显示目录下匹配的文件。例如,如果键入以下命令,将会显示 C:\Test 文件夹中所有具有“.log”扩展名的文件:
xcacls.vbs c:\test\*.log
示例

下列 Xcacls.vbs 命令提供 Xcacls.vbs 用法的一些示例:

xcacls.vbs c:\test\ /g domain\testuser1:f /f /t /e
该命令可编辑现有权限。它授予 Domain\TestUser1 完全控制 C:\Test 下所有文件的权限,遍历 C:\Test 下的子文件夹,然后更改找到的所有文件。该命令不触及目录。
xcacls.vbs c:\test\ /g domain\testuser1:f /s /l "c:\xcacls.log"
该命令可替换现有权限。它授予 Domain\TestUser1 完全控制 C:\Test 下所有子文件夹的权限,而且记录到 C:\Xcacls.log。该命令不触及文件,并且不遍历目录。
xcacls.vbs c:\test\readme.txt /o "machinea\group1"
该命令将自述文件的所有者更改为组 MachineA\Group1。
xcacls.vbs c:\test\badcode.exe /r "machinea\group1" /r "domain\testuser1"
该命令撤消 MachineA\Group1 和 Domain\TestUser1 的 C:\Test\Badcode.exe 权限。
xcacls.vbs c:\test\subdir1 /i enable /q
该命令将打开文件夹 C:\Test\Subdir1 上的继承。该命令将取消任何屏幕输出。
xcacls.vbs \\servera\sharez\testpage.htm /p "domain\group2":14
此命令通过使用 Windows Management Instrumentation (WMI) 远程连接到 \\ServerA\ShareZ。然后获取用于该共享的本地路径,在该路径下,它更改 Testpage.htm 上的权限。它原封保留 Domain\Group2 的现有权限,但是添加权限 1(读取数据)和权限 4(读取扩展属性)。该命令放弃此文件上的其他权限,原因是未使用 /e 开关。
xcacls.vbs d:\default.htm /g "domain\group2":f /server servera /user servera\admin /pass password /e
该命令使用 WMI 作为 ServerA\Admin 远程连接到 ServerA,然后将 Default.htm 上的完全权限授予 Domain\Group2。Domain\Group2 的现有权限丢失,但保留文件上的其他权限。

(0)

相关推荐

  • cacls命令设置文件及其文件夹权限的方法

    网上有许多讲解cacls权限设置的文章,虽然已经讲的比较简单,但是新手依然看的一头雾水,操作性不强. 下面以实例为大家一部一部讲解几个实用的命令. 你是否不想让别人在你的电脑上打开某个文件夹或者文件?是否有时想允许让别人看某个文件和文件夹下的文件,但是不想让别人更改?或者不想让自己电脑上的某个账户不能访问某个文件夹?如果有过那么可以用以下命令实现,而不需要借助其他加密软件. 注意要限制别人访问的文件或者文件夹所在盘必须要是NTFS文件系统的,而不能是FAT32格式.这或许是ntfs文件系统安全性

  • 使用Cacls命令设置服务器文件访问权限

    Cacls命令使用格式如下: Cacls filename [/T] [/E] [/C] [/G user:perm] [/R user [...]] [/P user:perm [...]] [/D user [...]] Filename--显示访问控制列表(以下简称ACL): /T--更改当前目录及其所有子目录中指定文件的 ACL:/E-- 编辑 ACL 而不替换:/C--在出现拒绝访问错误时继续:/G user:perm--赋予指定用户访问权限.Perm 可以是R(读取).W(写入).C

  • 使用xcacls.vbs(cacls.exe)修改NTFS权限说明(中文版)第1/2页

    概要 Microsoft 以 Microsoft Visual Basic 脚本 (Xcacls.vbs) 的形式提供了 Extended Change Access Control List(扩展更改访问控制列表)工具 (Xcacls.exe) 的更新版本.本文分步介绍如何使用 Xcacls.vbs 脚本修改和查看文件或文件夹的 NTFS 文件系统权限. 可以从命令行使用 Xcacls.vbs 设置所有可在 Microsoft Windows 资源管理器中访问的文件系统安全选项.Xcacls.

  • Cacls 显示或修改任意访问控制列表 (DACL) 文件

    Cacls 显示或修改任意访问控制列表 (DACL) 文件. 语法 cacls FileName [/t] [/e] [/c] [/g User:permission] [/r User [...]] [/p User:permission [...]] [/d User [...]] 参数 FileName  必需.显示指定文件的 DACL.  /t  更改当前目录和所有子目录中指定文件的 DACL.  /e  编辑 DACL,而不是替换它.  /c  忽略错误,继续修改 DACL.  /g 

  • 设置高级NTFS权限的工具 XCACLS.vbs

    http://support.microsoft.com/kb/825751 Microsoft 以 Microsoft Visual Basic 脚本 (Xcacls.vbs) 的形式提供了 Extended Change Access Control List(扩展更改访问控制列表)工具 (Xcacls.exe) 的更新版本.本文分步介绍如何使用 Xcacls.vbs 脚本修改和查看文件或文件夹的 NTFS 文件系统权限. 可以从命令行使用 Xcacls.vbs 设置所有可在 Microso

  • IIS无法运行asp的NTFS权限设置图文教程

    因为现在在家里有点空,下面就详细写一下在Windows XP简体专业版下设置IIS的权限(如果网站所在的分区不是NTFS文件系统就不用设置权限,在分区的属性里可以查看是什么文件系统),对于Windows 2000/2003同样适用.以C:\wwwroot文件夹演示. 右键点击wwwroot目录,选择"属性",可能会出现下图所示情况,没有"安全"标签. 如果没有"安全"标签,请先进行"文件夹选项"设置,如果有了则跳过.1.&qu

  • NTFS权限设置以避免通过webshell遍历主机目录

    测试环境:Windows 2003 + IIS6.0 + Access数据库 运行上传的asp助手,在浏览其他分区的时候提示"路径未找到",用asp探针查看发现是因为对分区没有读取权限. 我们知道,匿名访问web使用系统中的"IUSR_主机名"这个用户,只要限制了这个用户的读取权限,即能限制访问者遍历服务器目录,保护服务器数据不被非法访问. 操作步骤: 1. 我的电脑,磁盘安全属性.2. 首先删除Everyone组.一般在服务器上看见Everyone就要删.3. 添

  • vbs通过WMI修改文件文件夹的NTFS权限

    使用WMI修改文件文件夹的NTFS权限, 代码: 复制代码 代码如下: strUser = "guests"strPath = "D:\\abc.txt"RetVal = AddPermission(strUser,strPath,"R",True) '------------------------------------------------------------------------- '用于给文件和文件夹添加一条权限设置.返回值:

  • win2003 WEB服务器NTFS权限设置图文方法

    总得来说,前者比较难配置,参考了别人的一些配置和自己的一些实践,找到一个本人觉得还相对满意的做法,由于个人水平有限,希望高手指出我不足的地方,谢谢.由于最近忙着别的事,等忙完之后再把IIS配置的部分还有自己要整理的一些资料奉上~~到时候大家可以到论坛www.n0ws.com上去查看,不过本博客也是提供相关资料的下载的.下面是我的做法:首先,配置系统盘下(如:c盘)的权限(已经将IIS的默认文件夹删除)1.系统盘:选中系统盘,属性,安全选项卡,删掉除了administrators和system组的

  • 最新万能 DOS 启动盘制作全攻略(软盘+光盘+U盘+硬盘+NTFS+应急实用工具)

    首先说明一下各种操作系统启动到DOS的途径: WIN9x系统:开机后按F8,选择第5项回车,可以进入系统自带的基本dos7.x环境. 2K/XP/2003:系统没有自带DOS,需要通过DOS启动盘或虚拟软驱来得到DOS环境. 本文共介绍了4种DOS启动盘的制作方法,4种启动盘中共同存在的基本程序文件说明如下: ATTRIB.EXE  文件属性修改工具. AUTOEXEC.BAT 开机自动执行批处理. CONFIG.SYS 系统配置文件. DELTREE.EXE 删除目录及内嵌文件. DI1000

  • Android如何判断手机是否有录音权限的工具类

    作用 判断手机是否有录音权限的工具类,兼容6.0以上以及以下android系统 测试环境 这篇文章是评论中的网友提出质疑后,经过重写修改与重写测试后编写的,我的调试环境是小米note3,Android7.1的系统. 记得在清单文件中配置对应的权限. 思路 检测是否有权限 -->有权限--执行相关操作 -->无权限-- 判断系统版本 --大于等于6.0 --动态申请权限 -->对申请结果的回调处理 --允许 --拒绝 代码 工具类CheckAudioPermission.java pack

  • destoon安全设置中需要设置可写权限的目录及文件

    以destoonV4.0系统为例: about/ announce/ file/ config.inc.php index.html 以上目录或文件必须正确设置可写权限,且设置目录可写时,必须包含所有子目录及子文件,否则可能引起系统功能无法正常使用. 安装目录install在完成安装之后,系统会尝试销毁安装文件,但可能因为权限文件而无法销毁,建议ftp删除install目录. 升级目录upgrade在完成升级之后,系统会尝试销毁升级文件,但可能因为权限问题而无法销毁,建议ftp删除upgrade

  • 利用phpmyadmin设置mysql的权限方法

    第一步:登陆root用户. 第二步:新建一个数据表,并且选好排序规则,此处我使用testtable. 第三步:我们新建一个用户输入相关的账户名以及密码就可以. 第四步:我们对刚才添加的用户 testuser 编辑权限: 进入页面之后,我们只需选择按数据库制定权限.全局权限不用勾选. 点击之后会出现一个权限页面,全选执行即可. 此时我们登陆的testuser后看见的就只有testtable库,以及此表的相关操作权限. 总结 以上所述是小编给大家介绍的利用phpmyadmin设置mysql的权限方法

随机推荐