通过cmd修改文件访问控制权限( 二 )


xcacls.exe命令的语法和参数与cacls.exe基本相同,但不同的是它通过显示和修改件的访问控制列表(acl)执行此操作 。在“/g”参数后除保持原有的perm权限外,还增加了spec(特殊访问权限)的选项,另外还增加了“/y”的参数,表示禁止在替换用户访问权限时出现确认提示,而默认情况下,cacls.exe是要求确认的,这样在批处理中调用cacls.exe命令时,程序将停止响应并等待输入正确的答案,引入“/y”参数后将可以取消此确认,这样我们就可以在批处理中使用xcacls.exe命令了 。
①:查看文件或文件夹的权限
在“开始→运行”对话框或切换到命令提示符模式下,注意请事先将“c:program filesresource kit”添加到“系统属性→高级→环境变量→系统变量”中,或者通过cd命令将其设置为当前路径,否则会提示找不到文件,然后键入如下命令:
xcacls C:ruery
此时,我们会看到图2所示的窗口,这里可以查看到所有用户组或用户对C:ruery文件夹的访问控制权限,io表示此ace不应用于当前对象,ci表示从属窗口将继承此ace,oi表示从属文件将继承该ace,np表示从属对象不继续传播继承的ace,而每行末尾的字母表示不同级别的权限,
f表示完全控制.
c表示更改.
w表示写入.
②:替换文件夹中的acl而不确认
xcacls C:ruery /g administrator:rw/y
以上命令将替换C:ruery文件夹中所有文件和文件夹的acl,而不扫描子文件夹,也不会要求用户确认.
③:赋予某用户对文件夹的控制权限
xcacls h:temp /g administrator:rwed;rw /e
以上命令将赋予用户ruery对C:ruery文件夹中所有新建文件的读取、写入、运行和删除权限,但需要说明的是,这条命令只是赋予了用户对文件夹本身的读写权限,而不包括子文件夹下的文件 。
对普通用户来说,cals.exe和xcacls.exe的作用可能不是那么明显,这在windows 2000/xp/server 2003的无人值守安装中特别有用,管理员可以为操作系统所在的文件夹设置初始访问权限;在将软件分发到服务器或工作站时,还可以借助 xcacls.exe提供单步保护,以防止用户误删除文件夹或文件 。

推荐阅读