实验结论
(1) 我们首先再次总结一下 Access 数据库文件的 NTFS 权限设置的缘起:
在 ASP.NET 中默认是以一个叫做 ASPNET的虚拟用户的身份来访问、操作数据库的,你可以在"控制面板"-"管理工具"-"计算机管理"-"本地用户和组"-" 用户"中看到这个用户,默认情况下是:
全名:ASP.NET 计算机帐户
描述为:用于运行 ASP.NET辅助进程(aspnet_wp.exe)的帐户。
隶属于:Users组。
使用这么一个隶属于 Users 组的用户来进行文件操作、数据库操 作的风险是要比用一个 Administrators 组的用户的风险要小得多,这也是 ASP .NET 在安全方面的一个考虑吧。
既然是这么一个用户需要访问、操作数据库文件本身,那么我们就需要给它一定的 NTFS 权限以允许它的访问。显然没有 NTFS 的权限许可,ASPNET 就无 法访问、操作数据库,就会出现上面实验中所看到的那些错误了。
(2) 经过上面的实验,我们已经知道如下的 NTFS 权限设置是可以满足一般需求的:&nb sp;
a) D:/wwwroot/test/data/ 文件夹给用户ASPNET以 如下权限:
允许 拒绝
完全控制 □ □
修改 □ □
读取及运行 √ □
列出文件夹目录 √ □
读取 √ □
写入 √ □
b) D:/wwwroot/test/data/db1.mdb 文件本身给用户ASPNET以如下权限:
√ 允许将来自父系的可继承权限传播给该对象
同时我们也注意到 db1.mdb 是否为"只读"文件对 ASPNET 的访问也会 有一定影响。