使用 .NET 删除从 win2k3 迁移的文件

使用 .NET 删除从 win2k3 迁移的文件

我们最近将 ASP.NET 网站从 Windows 2003 迁移到 Windows 2008 R2,通过压缩所有文件并将其提取到新网站。

由于迁移 Web 应用程序仍然能够上传和删除文件(新文件),但是,它无法删除从原始 Win 2k3 应用程序复制的文件。

我们猜测这是一个权限问题,因为错误是:

拒绝访问路径‘E:.......PATH.....’。

我们一直在尝试将新上传文件的权限与迁移文件的权限进行匹配。新上传的文件似乎获得了 APP POOL 用户权限和 OWNER 权限。但是,原始文件没有这些权限。

任何人若能提供任何帮助都将非常有帮助。

谢谢,

答案1

我怀疑您尝试删除的文件也是由 asp.net 应用程序创建的。

在这种情况下,CREATOR OWNER 主体的权限决定了新文件的权限。

答案2

嗯,您提到的任何产品中都没有任何东西可以直接做到这一点。

您是如何迁移应用程序的?

如果文件系统权限发生了变化(很可能),您是否已修复文件和(重要的)文件夹权限,以便它们与以前的应用程序的意图广泛兼容?

如果它是通过某种归档系统复制的 - 您是否检查过所有文件的只读属性(不是权限,属性)是否未设置?

ATTRIB /S将转储所有子文件夹中的所有文件属性 - 查找问题文件上的任何 R 。

最后,您可能会发现执行上传/删除的用户与之前的用户不同。使用 Sysinternals 中的进程监视器 (http://live.sysinternals.com/procmon.exe) 来观察用户执行您感兴趣的操作,并检查身份是否符合预期,权限是否合适。 IIS 7 引入了新的应用程序池和用户身份(以及身份类型)。

相关内容