asp.net中对指定文件的访问被拒绝?
作者:回复 发表时间:2005-11-16 23:48
对于这个问题,令人头疼的是net解释器给出的错误帮助提示不准确,右击文件属性没有安全选项,不能用这种方法修改文件权限。
解决的办法有两种。一是授予ASPNET帐户更高的权限,使用这种办法的前提是你确实没有办法让程序正常运行或不考虑服务器安全性。最佳的方法是,修改ASPNET对指定文件的所有权限。linux下修改文件属性的命令可能用过linux的人都知道,但windows下修改文件属性的命令恐怕好些熟悉windows系统的用户未必知道,cacls命令,来显示或者修改文件的访问控制表。用下面的命令即可解决:
cacls [文件名] /G ASPNET:F
关于该命令的格式如下:
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 不适用于当前文件/目录。