[经验]IIS“不能打开注册表关键字”错误解决

by admin on 2020年1月30日

下面是IIS处理ASP文件时报告的一个错误信息:

测试环境:Windows 2003 + IIS6.0 + Access数据库

今天谈两个ASP运行时可能出现的与IIS有关的错误

Microsoft OLE DB Provider for ODBC Drivers 错误 ‘80004005’

运行上传的asp助手,在浏览其他分区的时候提示“路径未找到”,用asp探针查看发现是因为对分区没有读取权限。
图片 1


[Microsoft][ODBC Microsoft Access Driver]常见错误
不能打开注册表关键字 ‘Temporary (volatile) Jet DSN for process 0xf34
Thread 0x670 DBC 0x1f5282c Jet’

我们知道,匿名访问web使用系统中的“IUSR_主机名”这个用户,只要限制了这个用户的读取权限,即能限制访问者遍历服务器目录,保护服务器数据不被非法访问。

错误类型一:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC Microsoft Access Driver]
不能更新。数据库或对象为只读。
错误类型二:
Microsoft OLE DB Provider for ODBC Drivers 错误 ”80004005”
[Microsoft][ODBC Microsoft Access Driver]常见错误
不能打开注册表关键字 ”Temporary (volatile) Jet DSN for process 0x728

想必很多用过IIS的朋友都遇到过吧?

操作步骤:

Thread 0x854 DBC 0x276fb44 Jet”。

       
当你使用ASP连接数据库时可能会出现这种情况,为什么呢?因为您数据库文件所在的目录权限对特定的用户没有开启足够的权限,你只能进行只读访问,一般出现这种情况的文件系统为NTFS,那怎么解决呢?
        首先,你找到数据库所在目录,也可以是上层目录,然后设置文件夹
安全
属性,最简单的是把everyone的权限设置成完全即可,那对于这个问题,应该使哪个对象的权限设置成完全呢?答案是
IUSER_您的机器名
。这个是哪个对象?这个是Internet来宾用户,有兴趣的读者可以查阅相关资料。至此,问题解决,你可以再运行一下看看是否解决了问题。

        附:对于Windows
XP的用户,也许你会茫然于更改文件夹的安全属性。因为在默认情况下,Windows
XP使用了简单文件共享方法,所以,当你点 属性 的时候是看不到 安全
选项卡的。具体操作如下:

        我的电脑–>文件夹选项–>查看–>取消
使用简单文件共享(推荐) 的勾选
即可。你查看一下你要更改文件夹的属性,是不是多了一个 安全 选项卡呢?

最近我就遇到了这个问题。查了一些资料,做了一些尝试,总算问题解决了。总结出了一些经验:

  1. 我的电脑,磁盘安全属性。
  2. 首先删除Everyone组。一般在服务器上看见Everyone就要删。
  3. 添加IUSR_Hostname用户,对其设置“拒绝读取和运行”权限。如图。
    图片 2

  4. 应用。会出现提示,不用理会。

  5. 设置完成。

出现下面两种情况之一都可能会导致出现这样的错误:

这是非web站点分区的NTFS设置,对存放web站点的分区还要进行额外的设置才可以正常访问。否则在访问网站的时候因为没有运行权限而无法浏览。

1 数据库文件在NTFS分区,且NTFS权限不足
2 系统盘为NTFS分区,,%windir%temp 目录的NTFS权限不足

假设我的网站放在F:www下。在按照上述五个步骤设置完F区的NTFS权限后,要进行下面步骤的设置:

知道问题在哪里了,解决就不成问题了!

1.
进入www目录安全属性。这时可以看到IUSR_hostname这个用户的权限设置为拒绝读取和运行,并且checkbox是灰的,无法修改。

  1. 点高级,把下面允许继承的checkbox的勾勾掉,在弹出的提示中选“复制”。
    图片 3

  2. 确定。这时你可以看到刚才不可修改的checkbox现在都可以修改了。

  3. 更改IUSR_hostname用户权限,改为只允许“读取”。
  4. 确定。

至此,所有分区的NTFS设置都已完成。

这时你再把asp探针和asp助手上传到服务器上运行,就会收到权限不足的提示了。

对C盘设置的权限不自动继承,需要对每个文件夹再进行设置拒绝访问权限。Program
Files、Documents and Settings和Inetpub这几个文件夹一定要设置。

Windows或Winnt目录一定不要这样设置,否则在运行asp程序时:(动网除外,原因未知。)

如果用ODBC连接的Access数据库,那么会报错:

Microsoft OLE DB Provider for ODBC Drivers 错误 ‘80004005’
[Microsoft][ODBC Microsoft Access Driver]常见错误
不能打开注册表关键字 ‘Temporary (volatile) Jet DSN for process 0x1844
Thread 0x1b40 DBC 0x554cc59c Jet’。

如果用OLEDB连接的Acess数据库,会报错:未指定错误。

Windows或Winnt目录的设置如图:“列出文件夹/读取数据”这个不要设置拒绝。
图片 4

对Windows或Winnt目录这样设置后,用asp助手还是可以浏览到目录的内容,但没有权限打开其中的文件浏览。

另外,如果服务器硬盘这样设置,能用什么方法进一步得到主机权限,还请赐教!!

此文仅是给大家提供一个保护服务器数据的思路,请根据自己的需要进行设置。有不对的地方希望大家指出!

您可能感兴趣的文章:

  • 阿里云主机一键安装lamp、lnmp环境的shell脚本分享
  • Shell脚本实现自动修改IP、主机名等功能分享
  • nginx虚拟主机防webshell完美版
  • shell脚本实现批量测试局域网主机是否在线
  • 虚拟主机封杀webshell提权!!!!!!!!!!
  • 使用PowerShell获取当前主机内存使用量和总量的方法
  • PowerShell脚本实现检测网络内主机类型
  • php管理nginx虚拟主机shell脚本实例
  • Shell交互批量更改主机名的方法

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图