这不是关于我的特定问题的问题,因为我已经或多或少地解决了这个问题,而是关于 IIS/Python 和一般用户帐户的问题。
我有使用 IIS 7.5 (使用 hgweb.wsgi 脚本的 Mercurial) 运行的 Python 脚本。其中一个插件 (largefiles) 无法获得读取和写入文件的权限。
该脚本尝试通过检查APPDATA
和LOCALAPPDATA
环境变量将文件写入临时目录,这些变量返回C:\Windows\System32\config\systemprofile\AppData\Local
,并因权限问题而失败。
我尝试打印USERNAME
环境变量,但无论我在 IIS 应用程序池的 Identity 中设置什么用户,它总是返回MACHINENAME$
那么,如何在 IIS 中运行 python 脚本,以便环境变量指向正确的用户主位置?或者这只是开发人员的错误(Hg 没有权限问题,只有 largefiles 扩展)?
此外,当我最初拥有 repos 时C:/Data
,largefiles 写入该目录的文件带有锁定图标,权限为SYSTEM
:完全控制和Administrators
:完全控制,所有者设置为Administrators
(组,而不是管理员用户)。写入文件后,无法再读取。即使我授予目录Everyone
的完全控制权C:/Data
,新文件仍将被锁定,除非我手动编辑权限。同样,Hg 没有这个问题,只有 largefiles 写入的文件。
答案1
尝试使用进程监控彻底查明权限问题。
您可以使用该工具查看哪个用户正在尝试以哪个进程访问文件以及其他有助于排除 IIS 权限故障的重要详细信息。