IIS排错,Temporary ASP.NET Files文件夹中的root误删了

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IIS排错,Temporary ASP.NET Files文件夹中的root误删了相关的知识,希望对你有一定的参考价值。

装上IIS,出现元数据库错误,在Baidu上搜了一下,我依据网站上的提示删除了C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files
中的已访问的文件夹,不小心误删了root文件夹,结果出现了一个MMC的错误。谁可以把这个root发给我吗,邮箱:cxp1966@163.com。
我用的是XP的操作系统

win7 IIS 配置和ASP.NET的运行配置
控制面板中“程序”的位置 选择左边的打开或关闭Windows功能

如图,安装IIS7时需要选择要使用的功能模块

安装好IIS打开IIS管理器如图

点击上面的iisStart.html得到下面的界面 到这里IIS并没有完成
因为现在如果配置asp.net项目上去的话,会出现很多问题 如访问数据库权限问题

下面的这个步骤是设置访问数据库权限的

这里选择localSystem或NetworkService

默认装完IIS7之后,使用ASP程序会发现提示数据库连接失败,在网上找了找,说是因为MSJet引擎改变了临时目录的位置,但是又没有对临时的存取权限,导致数据库使用失败。
先要设置应用程序池(ApplicationPool)为Classic.NETAppPool,而不是默认的DefaultAppPool,可以在网站目录里对每个站点设置,也可以在站点进行单独设置。选择好要设置的站点之后,点右边的“基本设置”即可调出应用程序池设置对话框。

这里必须用操作系统的登录名和密码 不然无权访问硬盘分区

这里的第二行显示授权就是因为上面的步骤给了用户名和密码 否则这里就是无权 asp.net的页面也就访问不到了
然后再给“系统盘:Windows\ServiceProfiles\NetworkService\AppData\Local”下面的 Temp目录添加一个“Authenticated Users”的用户,其中AppData目录是隐藏的,在进入的时候可以直接在地址栏输入路径,或者在文件夹选项里显示隐藏文件。
设置权限步骤:右击Temp文件夹,选择“属性”》选择“安全”选项卡》单击“编辑”》出来“Temp的权限”对话框,单击“添加”,在下面的“输入对象名称来选择”中输入Authenticated Users,确定》返回到“Temp的权限”,将AuthenticatedUsers的权限中的完全控制给勾上,确定》确定。

启用父路径支持

在站点主页上选择“ASP”,然后在“行为”组中将“启用父路径”设置为True即可。
(这里我个人认为可以改也可以不改 看你自己的情况而定(本人没改一直是False))

至此,完成了Windows7中IIS7的安装及使用asp.net的配置。
我在部署asp.net项目是出现了很多错,在网上查了很多资料,用了2天多才搞出来,大家装这个要耐心,多搜索下网上的结果,基本的问题都是可以解决的
参考技术A 重新装吧 参考技术B ROOT 没有也可以的

用户对 Temporary ASP.NET Files 文件夹的写入权限是不是会造成任何安全问题?

【中文标题】用户对 Temporary ASP.NET Files 文件夹的写入权限是不是会造成任何安全问题?【英文标题】:Does user write permissions to the Temporary ASP.NET Files folder pose any security problems?用户对 Temporary ASP.NET Files 文件夹的写入权限是否会造成任何安全问题? 【发布时间】:2010-11-08 22:40:48 【问题描述】:

由于对 Temporary ASP.NET Files 文件夹的权限不足,我遇到程序集绑定失败。

应用程序使用 (web.config) 表单身份验证,Impersonate = True 和 IIS Windows 集成身份验证。

根据ASP.NET Identity Matrix,这意味着 WindowsIdentity 解析为 Domain\UserName,根据ASP.NET Required Access Control Lists (ACLs),WindowsIdentity 需要对 Temporary ASP.NET Files 文件夹的读/写权限。

使用 Fusion 日志查看器,我可以确认程序集绑定失败是由于 Domain\UserName(在安全中属于“用户”组)只有对该文件夹的读取权限,但没有写入权限。

问题是:

将写入权限分配给 Temporary ASP.Net Files 文件夹是否存在任何安全隐患?

这样的服务器配置更改常用吗?如果不是,为什么 WindowsIdentity 会为这种 web.config 设置组合解析为 Domain\UserName - 或者在这种情况下不应该使用这种组合?

注意:仅当非管理员用户是第一个点击该页面时才会出现此问题。如果由于管理员用户点击页面,程序集已经编译并存储在临时 ASP.NET 文件中,则后续用户没有问题。我不希望将程序集放在 GAC 中。

【问题讨论】:

【参考方案1】:

ASP.NET 需要对临时 ASP.NET 文件夹的写入权限,如果您只授予对该文件夹的权限而不是更高权限,因为它位于 c:\windows 文件夹中,这不应该是安全风险。

MSDN article about securing ASP.NET applications 建议将临时编译目录的完全控制权授予 ASP.NET 进程标识。我已经引用了相关部分:

默认情况下会在以下目录中创建和编译临时文件:

%winnt%\Microsoft.NET\Frameworkversion\Temporary ASP.NET 文件

您可以使用 tempDirectory 属性在每个应用程序的基础上指定位置,但这并没有提供任何安全优势。

注意元素上指定的 ASP.NET 进程标识需要对临时编译目录的完全控制访问权限。

【讨论】:

(您需要将“msdn”添加到链接的前面。)是的,但在这种情况下,web.config 设置意味着 DOMAIN\User(配置的模拟)需要写入权限并且问题具体是关于这可能产生的安全影响。 ASP.NET 进程未作为此程序集绑定的一部分。

以上是关于IIS排错,Temporary ASP.NET Files文件夹中的root误删了的主要内容,如果未能解决你的问题,请参考以下文章

解决NopCommerce 在iis缓存目录Temporary ASP.NET Files下存在两个版本的dll问题

win7+iis7.5+asp.net下 CS0016: 未能写入输出文件“c:WindowsMicrosoft.NETFrameworkv2.0.50727Temporary ASP.NE

asp.net网站报错Temporary ASP.NET没有读写权限怎么办?

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files这个文件找不到

ASP.NET - 当前身份 (Machine\ASPNET) 没有对 'c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET

[Asp.Net Core]IIS部署