中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 关于cacls命令详细用法(大家可否关注一下吖)
作者:
标题: 关于cacls命令详细用法(大家可否关注一下吖) 上一主题 | 下一主题
dosmania
初级用户





积分 172
发帖 54
注册 2007-1-2
状态 离线
『楼 主』:  关于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  更改(写入)

                              F  完全控制

   /R user         撤销指定用户的访问权限(仅在与 /E 一起使用时合法)。

   /P user:perm  替换指定用户的访问权限。

                 Perm 可以是: N  无

                              R  读取

                              W  写入

                              C  更改(写入)

                              F  完全控制

   /D user       拒绝指定用户的访问。

在命令中可以使用通配符指定多个文件。

也可以在命令中指定多个用户。



缩写:

   CI - 容器继承。

        ACE 会由目录继承。

   OI - 对象继承。

        ACE 会由文件继承。

   IO - 只继承。

        ACE 不适用于当前文件/目录。
赋予、撤消、替换、拒绝 这四个的含义及区别令我头疼几天,望达人指点,快疯掉了我。

1. 赋予:

        cacls test.txt /c /g everyone:f

        这个自然没有疑问

        cacls test.txt /c /g everyone:c
        cacls test.txt /c /g everyone:w
        这两个有什么区别,请指教!

        cacls test.txt /c /g everyone:r
        cacls test.txt /c /g everyone:w
        在执行以上两条命令中的任意一条命令后,test 是否还可以被是删除?

2.撤消 。。。。。。。

3.替换 。。。。。。。

4.拒绝 。。。。。。。

1、2、3、4 的用法以及区别联系等我都不清楚。请详细举例解释啊,感谢啊!

我觉得是该命令缺少一些特殊权限

比如我现在要 设置everyone 对 test.txt 文件拥有权限是: 只读并且不能删除test.txt
是否能用cacls做到?
举例为证才是王道,多谢合作!

[ Last edited by dosmania on 2007-9-21 at 02:37 PM ]

2007-9-20 04:46
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 2 楼』:  

//比如我现在要 设置everyone 对 test.txt 文件拥有权限是: 只读并且不能删除test.txt
cacls test.txt /g everyone:r /e


2007-9-20 05:01
查看资料  发短消息 网志   编辑帖子  回复  引用回复
dosmania
初级用户





积分 172
发帖 54
注册 2007-1-2
状态 离线
『第 3 楼』:  

这样是不行的,我绝对能删掉test.txt
我就知道很多人想当然以为这能行得通!

执行 cacls test.txt /g everyone:r /e 之后查询test.txt 的访问权限情况如下:

D:\test.txt BUILTIN\Administrators:F
            NT AUTHORITY\SYSTEM:F
            KIMHOO-117AB90\kimhoo:F
            BUILTIN\Users:R
            Everyone:R

我查阅了微软操作系统中的常见安全标识符技术信息,引用一部分:
http://support.microsoft.com/default.aspx?scid=kb;zh-cn;Q243330

SID:S-1-1-0
名称:Everyone
说明:包括所有用户(甚至匿名用户和来宾)的组。成员身份由操作系统控制。
默认情况下,在运行 Windows XP Service Pack 2 (SP2) 的计算机上,Everyone 组不再包括匿名用户。

那么按照上面所说的,Administrators 也是属于 Everyone 的,kimhoo 是我的用户名,也是属于Administrators 组的,那么必然也属于Everyone的。
为什么执行  cacls test.txt /g everyone:r /e 之后情况如下:

D:\test.txt BUILTIN\Administrators:F
            NT AUTHORITY\SYSTEM:F
            KIMHOO-117AB90\kimhoo:F

显然,我(kimhoo) 还是能够删掉 test.txt 的

[ Last edited by dosmania on 2007-9-20 at 05:28 AM ]

2007-9-20 05:15
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 4 楼』:  

试试这个
cacls test.txt /d everyone /e


2007-9-20 06:02
查看资料  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 5 楼』:  

如果还是不行的话,就把/e参数去掉。
cacls test.txt /d everyone


2007-9-20 06:03
查看资料  发短消息 网志   编辑帖子  回复  引用回复
dosmania
初级用户





积分 172
发帖 54
注册 2007-1-2
状态 离线
『第 6 楼』:  

TO HAT:
呵呵,你真幽默吖``我说了只读,不让删
你却给我拒绝访问,想要拒绝访问还不简单么
代码你都不测试就贴上来

2007-9-20 13:12
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 7 楼』:  

汗水
这周一直值夜班
脑袋晕晕的
见谅呵呵

2007-9-20 21:17
查看资料  发短消息 网志   编辑帖子  回复  引用回复
rubik
初级用户





积分 102
发帖 35
注册 2006-3-16
状态 离线
『第 8 楼』:  

NTFS权限是挺奇怪的。我这个例子有人帮我试一下吗:

在桌面上新建一个文件 新建文件夹

右键看它的 属性-》安全
里面全是继承的权限,如administrator,system,creator,everyone等

再点 高级 ,将“允许父项的继承权限”复选框清除,
提示复制或删除时,按提示选择“删除”

这是 权限项目里为空

再点确定,提示是“您拒绝了所有用户访问 新建文件夹,没有人
能访问 新建文件夹,继续吗?”

选 是 继续,并确定。

再双击 新建文件夹,已经无权访问了。

怪事在后头:
再右键点这个 新建文件夹 看 属性-》安全,
是空的,然后加上 administrator 的只读权限

从权限项目中可以看到只有一项,
就是
允许 administrator 读取和运行 不是继承的 应用于该文件夹 子文件夹及文件

确定 之后,再双击 新建文件夹,又可以访问了。


怪事来了,
现在只有administrator可以访问 新建文件夹,且只读,
但我试了一下,对这个 新建文件夹 进行改名或删除操作均可以成功进行。




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

上面说得很啰嗦,其实就是描述一下了操作。

主要就是想知道,
为什么只有 只读 权限的 administrator 可以行使改名或删除等功能呢

怎么也没想通。

2007-9-20 23:53
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
dosmania
初级用户





积分 172
发帖 54
注册 2007-1-2
状态 离线
『第 9 楼』:  

8楼和我有相同的疑惑

2007-9-21 01:36
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
rubik
初级用户





积分 102
发帖 35
注册 2006-3-16
状态 离线
『第 10 楼』:  

在上面那个 新建文件夹 的属性里可以看到,
虽然 administrator 只有 只读 的权限,但 查看 “有效权限”(属性-安全-高级-有效权限)时,
发现 administrator 的权限 比 只读 多出了一个 更改 权限。


---
但是,如果我在 安全属性里 把 新建文件夹的“所有者”指派给另外一个用户,
则 “有效权限”里列出的 administrator 也只有 只读 权限,
但是,依然能对 新建文件夹 进行改名或删除操作。


--
究竟超级用户 administrator 为什么有这个删除的特权呢?

而且删除权限也不是一直都有的,
如果administrator有 只读 权限,它就有了改名或删除的权限,
如果administrator连 只读 权限都没有,它就没有了改名或删除的权限

真的是怪事,只要能读就能删。

--
当然这对其他用户是不成立的
即使也是一个 administrators用户组的成员也不行,
只读就是只读,不会说 只读==只读+改名+删除

2007-9-21 09:56
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
dosmania
初级用户





积分 172
发帖 54
注册 2007-1-2
状态 离线
『第 11 楼』:  

建议楼上补一下访问控制概念以及其他一些相关的知识:

http://www.microsoft.com/technet ... e2dc7.mspx?mfr=true

2007-9-21 14:36
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
rubik
初级用户





积分 102
发帖 35
注册 2006-3-16
状态 离线
『第 12 楼』:  

完全不相干的东西

2007-9-21 15:12
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: