网络服务帐户默认是否应该接收临时文件权限?
-
03-07-2019 - |
题
最近我正在通过webform从Crystal Reports生成PDF。它失败了,我决定是由c:\ windows \ temp目录上的权限设置引起的。我向网络服务帐户授予对此文件夹的完全访问权限,该文件夹立即修复了该问题。但是,默认情况下,网络服务帐户没有这些权限吗?
Rick Strahl在这里提出这个问题。听起来这样做不应该有任何问题,但Rick并不清楚为什么默认是这样设置的。
Web Server是Windows Server 2003
解决方案
现在,默认选项往往更安全。我认为没有任何其他原因。
我和你有同样的问题,在我的环境中只是给了你许可并继续前进。
这篇文章表明它是Crystal Reports的错误,它明确引用%WINDIR%\ Temp而不是使用诸如Path.GetTempPath()之类的API。事实上,我在Windows 2003上的网络服务帐户下运行时看到Path.GetTempPath()返回%WINDIR%\ Temp。
其他提示
%windows%\ temp 不适用于一般的临时和bar。很明显,Crystal Reports正在滥用该目录。当开发人员懒得用管理员帐户以外的任何东西启动他们的计算机时,这种情况会发生很多。
每个用户(包括网络服务)都有自己的临时空间,具有完全访问权限,位于 Documents&设置。获胜者不像CR那样行动,并使用他们自己的临时空间。
简而言之,win \ temp的默认权限没有任何问题。我相信它仅仅适用于Windows的内部工作。 (然后,对于所有相关人员来说,如果该目录从未存在过,那将会好得多。)
不隶属于 StackOverflow