2014-09-30 72 views
0

我有遗留的网页脚本,需要通过ODBC“系统”数据源在Microsoft Access数据库文件中添加,修改和删除记录。通过IIS6访问数据库的NTFS权限?

如果没有在Access数据库文件本身上设置适当的NTFS权限,运行在IIS6中的Web应用程序无法执行这些任务。

要设置正确的NTFS权限,我必须选择适当的IIS内置用户帐户,然后为该帐户授予允许此脚本添加,修改和删除记录所需的最低权限。

我一直在阅读有关这些内置的IIS帐户在这里:

然而,我'sti我们不清楚哪个内置帐户(和权限)最适合授予Web应用程序修改此Access数据库的能力。

到目前为止,我已经给了“网络服务”成功占上的Access数据库文件(这工作)完全权限,但我不知道,我选择了最优化的内置帐户和权限。

目标是我选择允许进行SQL修改(脚本需要完成)的内置IIS帐户(以及该帐户的NTFS权限)(在此Access数据库文件上),但只不过是。

数据库文件本身不应该可以从Web访问,并且IIS应该只能在SQL修改(由脚本规定)上成功。

这种情况下最好的做法是什么?

回答

2

访问基于Windows的文件服务,因此在编辑记录(插入,更新,删除)和修改数据库文件本身之间没有真正的区别。如果IIS能够编辑记录,那么它也可以做其他任何事情。使用网络服务对我来说看起来很好。

如果你真的需要更安全的东西,那么你应该用SQL-Server之类的东西替换Access。通过自己的设计,Access非常不安全,不应该用于存储任何敏感信息。

+0

在这种情况下,我无法确定“网络服务”和其他内置的IIS帐户(安全性而言)之间的真正的区别。 LocalService帐户似乎更安全,但实际上该脚本不再能够执行修改(使用它而不是“网络服务”)。 – 2014-09-30 19:30:17

+0

自从上次尝试了解每个Windows帐户的各种定义以来,已经很多年了。您需要全职工作,作为IT管理员才能够这样做(甚至是......)。如果你是像我这样的程序员,这比其他任何事情都更耗时间。 – SylvainL 2014-09-30 19:35:37

+0

CC:@LonnieBest ......这是值得一提的性能和稳定性的原因(除了任何安全问题),你不应该使用Access数据库作为后端的Web应用程序。实际上,Microsoft *强烈建议不要这样做(参考:[这里](http://msdn.microsoft.com/en-us/library/jj653753。ASPX#access_database))。 – 2014-09-30 20:44:20