一个关于NTFS权限/DTS/ASP.Net的问题解决过程

来源:互联网 发布:4.0绩点算法 编辑:程序博客网 时间:2024/05/16 18:04

情景如下:

软件环境:Window server 2003+IIS 6

应用环境:ASP.Net 2.0应用 调用DTS包

物理路径:web应用在E:\Project\Process目录,DTS包目录在E:\Project\Data里

现象:

原本都能正常运行的一个体系,因为服务器突然被apsxspy入侵了,觉得权限设置还不够完善,本着权限最小化的原则对权限重新规划。所以将总体的目录E:\设置为只有Administrators和System.设置为继承。然后分别对Process和Data进行设置权限。只分配给Web_User.一切Ok。原本想一切正常应该没有问题了。结果问题来了,Web应用本身能够正常运行,调用DTS包的程序也正常。但问题出在DTS内部,明明存在的文件,包如下错误:

错误信息如下:The file name "E:\Project\Data\PurchaseOrder.csv" specified in the connection was not valid.(-1073659874)Connection "CSVData" failed validation.(-1073659875)执行时间(ms):3593750-- Call SSIS Package [PurchaseOrder]

意思就是文件无效。

解决:

第一反就是Data权限没有给够,就给Data加权限,但是无论是IIS_Wpg、还是Users,最后还是Everyone都不对。另外就是Data文件夹下本身Web程序也需要对文件进行访问、复制等操作都正常。所以问题集中到DTS不能访问文件了,但是DTS本身是Web程序在调用,Web程序的Application Pool和匿名用户都有相应的权限,实在是奇怪。

经过几个小时的反复摸索,觉得一切正常。后来突然想到是不是由于某些特殊原因导致由于E:\Project等上级目录没有权限造成的呢,最后就只给相关用户设置了只针对文件夹(this folder only)的浏览权限,依次把每个上级目录这样设置了一遍,结果就Ok了。

权限设置图片


问题:

为何DTS对文件路径有如此的情况呢?

 

原创粉丝点击