中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-11 22:15
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [已解决]XP下如何用批处理实现禁止删除系统文件 查看 849 回复 1
楼 主 [已解决]XP下如何用批处理实现禁止删除系统文件 发表于 2010-08-10 12:40 ·  中国 云南 昆明 电信
初级用户
积分 21
发帖 21
注册 2008-10-18 17:51
17年会员
UID 128679
性别 男
状态 离线
比如设定%systemroot%\system32\userinit.exe
这个程序在开机登陆的时候是以当前用户名启动的。
需要当前用户能够读取该文件,但不能删除该文件。

如果使用cacls userinit.exe /p %username%:R
我试了一下,虽然不能修改,但还是可以删除。
如果用cacls userinit.exe /p %username%:N
确实不能删除了,但也不能读取了,用户登陆后无法显示桌面。

貌似icacls可以设定删除的权限,但XP下没有icacls。

需要用批处理实现。用其他控制台工具来实现也可以。好像刚才看到有个工具叫SetACL,下回去搞了半天也没弄明白怎么设定。
小弟对权限的设定是一头雾水,希望前辈们能稍微讲清楚一些,先谢过了。

[ Last edited by kakenhi on 2010-8-11 at 19:09 ]
2 发表于 2010-08-10 13:28 ·  中国 云南 昆明 电信
初级用户
积分 21
发帖 21
注册 2008-10-18 17:51
17年会员
UID 128679
性别 男
状态 离线
已经搞定。
貌似我错了。不是工具的问题。
用cacls一样可以解决。
attrib userinit.exe +r
echo Y|cacls userinit.exe /p everyone:R
这样就只能读取而不能删除了。

可是为什么呢?能不能有哪位高手来解释一下?先谢过。
论坛跳转: