在 c:\users\temp.DOMAIN.00x 中创建的临时文件存在问题

在 c:\users\temp.DOMAIN.00x 中创建的临时文件存在问题

我正在尝试让用户连接到服务器上共享的 Excel 文件。用户可以访问该共享。使用 Procmon,我检测到 OleDB 在此位置创建了一个临时文件:

c:\users\temp.<DOMAIN>.00x

但默认情况下用户无权访问此文件夹,因此他们会收到来自 OleDB 的可怕“未指定错误”。据说,可以通过在 Web.config 文件中进行以下更改来缓解此问题:

<identity impersonate="true" />

<identity impersonate="false" />

但是,这是 SharePoint 服务器,因此我无法在不对 SharePoint 产生负面影响的情况下进行该更改。我想执行以下操作之一来缓解创建额外临时文件的问题:

  • 通过 GPO、设置或脚本自动授予用户对新临时目录的读写权限
  • 修复服务器,使得这些临时目录首先不会被创建(这是首选,但从我的搜索来看似乎要困难得多)

如果您能推荐更好的解决方案,我当然愿意考虑其他解决方案。另外,我提前为我的无知道歉,我并不是真正的服务器管理员。感谢您的关注!

答案1

发生这种情况通常是因为一种奇怪的情况,即应用程序池用户创建了用于编辑的临时文件,而实际用户无权访问该文件。

这就是为什么当模拟设置为 false 时,将使用应用程序池用户身份并可以访问文件 - 但是当模拟设置为 true 时,将使用用户帐户,而该帐户无权访问这些文件。

为每个人设置对临时文件父目录的写入权限应该可以解决这个问题。我想这里面有一些单独的安全问题,但对于你的情况来说这似乎不是问题(正如你建议的那样)。

相关内容