您的位置:首页 > 其它

关于access to the path is denied问题的解决

2009-03-11 15:46 633 查看
之前比较经常碰到这个问题,就是对网站文件没有访问权限(比较多的是没有修改权限,因为一般都有everyone的读取权限),要说解决这个问题很简单,直接给everyone用户组添加修改权限就好了

方法:在要操作的目录或文件上按右键=》属性=》安全,点添加按钮,输入everyone,点确定,然后勾上允许修改就ok了

 

但是这么做是有一定的安全隐患的,想想,任意一个人都可以编辑你的网站上的文件。

 

之前也搜索过不少帖子,都是写给ASPNet用户添加权限就可以了,但是实际上经过我测试,在IIS5.0上这么做就可以了,但是在IIS6(Win2003)就不行,所有用户(不是用户组)都添加写入测试了一遍,都不行,我就纳闷了,操作Windows的文件必须要用户的,为什么把用户加上修改权限就是不行呢?

 

后来想到了Windows2003的日志功能,它可以记录文件和目录的相关日志,先启动这个审核策略:

1、打开“管理工具”里的本地安全策略,找到“本地策略”=》审核策略,双击右边的“审核对象访问”,勾上成功、失败;

2、点开始=》运行,输入:gpupdate,更新上面的修改;

3、随便找到一个网站文件,按右键=》属性=》安全,点高级按钮,进入“审核”页签,再点添加,输入everyone,点确定后,出来如下窗口,勾选“更改权限”(下面我们要通过网页修改这个文件),最后一路确定;



 

现在我们编辑一个网页,可以在后台通过代码修改并保存这个文件,并打开IE,访问前面这个网页,编辑成功后(加上Everyone的修改权限),

我们进入到服务器的事件查看器,在安全性里,可以看到跟这个文件相关的日志,

我终于发现是Network Service这个内置安全主体在操作(为什么是内置安全主体,而不是用户,我也不清楚)

 

上面只是描述我的一个思路,同时也告诉大家如何使用Windows的文件目录审核功能 ^_^

 

备注:在我查出是Network Service后,再去搜索Network Service,发现网上已经有很多答案了,郁闷!!!

最郁闷的是,我再去看那个access to the path is denied问题页面时,发现上面明确写着:

ASP.NET has a base process identity (typically {MACHINE}/ASPNET on IIS 5 or Network Service on IIS 6) that is used if the application is not impersonating

 

再一次郁闷………………
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐