中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-05 22:09
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 关于cacls命令详细用法(大家可否关注一下吖) 查看 1,122 回复 11
楼 主 关于cacls命令详细用法(大家可否关注一下吖) 发表于 2007-09-20 04:46 ·  中国 广东 广州 白云区 电信
初级用户
★★
积分 172
发帖 54
注册 2007-01-02 10:38
19年会员
UID 75260
性别 男
状态 离线
本次贴子主要请教cacls 用法。

CACLS filename ]

] ]

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 ]
2 发表于 2007-09-20 05:01 ·  中国 上海 联通
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
//比如我现在要 设置everyone 对 test.txt 文件拥有权限是: 只读并且不能删除test.txt
cacls test.txt /g everyone:r /e
3 发表于 2007-09-20 05:15 ·  中国 广东 广州 白云区 电信
初级用户
★★
积分 172
发帖 54
注册 2007-01-02 10:38
19年会员
UID 75260
性别 男
状态 离线
这样是不行的,我绝对能删掉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 ]
4 发表于 2007-09-20 06:02 ·  中国 上海 联通
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
试试这个
cacls test.txt /d everyone /e
5 发表于 2007-09-20 06:03 ·  中国 上海 联通
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
如果还是不行的话,就把/e参数去掉。
cacls test.txt /d everyone
6 发表于 2007-09-20 13:12 ·  中国 广东 广州 白云区 电信
初级用户
★★
积分 172
发帖 54
注册 2007-01-02 10:38
19年会员
UID 75260
性别 男
状态 离线
TO HAT:
呵呵,你真幽默吖``我说了只读,不让删
你却给我拒绝访问,想要拒绝访问还不简单么
代码你都不测试就贴上来
7 发表于 2007-09-20 21:17 ·  中国 重庆 电信
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
汗水
这周一直值夜班
脑袋晕晕的
见谅呵呵
8 发表于 2007-09-20 23:53 ·  中国 重庆 沙坪坝区 联通
初级用户
积分 102
发帖 35
注册 2006-03-16 11:56
20年会员
UID 52168
状态 离线
NTFS权限是挺奇怪的。我这个例子有人帮我试一下吗:

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

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

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

这是 权限项目里为空

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

选 是 继续,并确定。

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

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

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

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


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




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

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

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

怎么也没想通。
9 发表于 2007-09-21 01:36 ·  中国 广东 广州 白云区 电信
初级用户
★★
积分 172
发帖 54
注册 2007-01-02 10:38
19年会员
UID 75260
性别 男
状态 离线
8楼和我有相同的疑惑
10 发表于 2007-09-21 09:56 ·  中国 重庆 九龙坡区 电信
初级用户
积分 102
发帖 35
注册 2006-03-16 11:56
20年会员
UID 52168
状态 离线
在上面那个 新建文件夹 的属性里可以看到,
虽然 administrator 只有 只读 的权限,但 查看 “有效权限”(属性-安全-高级-有效权限)时,
发现 administrator 的权限 比 只读 多出了一个 更改 权限。


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


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

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

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

--
当然这对其他用户是不成立的
即使也是一个 administrators用户组的成员也不行,
只读就是只读,不会说 只读==只读+改名+删除
11 发表于 2007-09-21 14:36 ·  中国 广东 广州 天河区 电信
初级用户
★★
积分 172
发帖 54
注册 2007-01-02 10:38
19年会员
UID 75260
性别 男
状态 离线
12 发表于 2007-09-21 15:12 ·  中国 重庆 沙坪坝区 联通
初级用户
积分 102
发帖 35
注册 2006-03-16 11:56
20年会员
UID 52168
状态 离线
完全不相干的东西
论坛跳转: