静心

我是小明
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
做网站与搞安全一般都离不开权限分配,网站权限一般都直接设置站点所在的虚拟目录的,也就是在虚拟目录的安全里添加internet来宾账户,并分配除完全控制外的所有权限;如果是.NET,还必须给ASP.NET用户配置除完全控制以外的权限! 
一般情况下,这样就OK了,服务器上的一般网站都可以正常运行了!但现在我发现:C/WINDOWS/TEMP临时文件夹的权限分配对网站能否成功运行也有影响! 
但前几天遇到2个情况: 
一、ASP站点: 
做版聚网站,稻草给的源代码,我过来测试时候,怎么都连不上数据库;我以为数据库连接代码出错,于是一点一点的测试,结果怎么都不行,运行到最后,还是没发现错误!代码如下: 
<% 
db="inc/xxx.asp" 
connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(""&db&"") 
On Error Resume Next 
Set conn = Server.CreateObject("ADODB.Connection") 
Conn.ConnectionTimeout = 10 
Conn.Open connstr 
If Conn.Errors.Count <> 0 Then 
Conn.Close 
Set Conn = Nothing 
Response.Write "<font size=2 color=red>数据库连接出错,请检查连接字串。</font>" 
Response.End 
End If 
%> 
可是总是显示:数据库连接出错,请检查连接字串.而我尝试了2个多小时,没发现任何错误!后来我想起以前因为temp的权限没给导致后台进不去的,于是我尝试给everyone的读写属性!于是一下子OK了~ 
二、ASP.NET站点: 
做毕业设计,突然出现如下的错误: 
CS0016:未能写入输出文件"c:/WINDOWS/xxx目录/xxx.dll"--"拒绝访问." 
引用 
Compiler Error Message: CS0016: Could not write to output file 'c:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/Temporary ASP.NET Files/root/80940643/9a3d5a0a/App_Web_index.aspx.cdcab7d2.p7p862zk.dll' -- '拒绝访问。 ' 
很郁闷的检查错误,检查web.config文件,感觉不会出问题啊!后来在CSDN上看到篇文章,说解决方法就是:给Windows目录下的临时文件夹Temp的安全选项卡中加入NetWork Service用户并赋予全权. 
寒,一试,果然搞定! 
总之,temp临时目录的权限真的比较重要,于是写在blog里记下来,如果出现莫名其妙的错误,记得尝试给temp文件夹点权限!